Dockerボリュームマウントの実装方法

Dockerボリュームマウントの実装方法

最も単純な hello world 出力イメージを作成することは最も簡単なスタートですが、実行中のコードを変更したり、入力ファイルと出力ファイルを用意したりする必要がある場合は、方法がありません。各コンテナーの実行が終了すると、割り当てられたリソースとファイル システムは消えてしまうため、コンテナーの実行中にコンテナーのマウント ポイントの下のファイル操作がコンテナーにマウントされたローカル ボリュームにも影響するように、ボリュームを Docker コンテナーにローカルにマウントする必要があります。 Linux のマウントと同じです。この方法では、イメージを変更せずに、ローカル ボリューム内のコードのみを変更する必要があります。

たとえば、次のような Dockerfile を作成します。

で:

VOLUME:コンテナ内にマウント ポイントを作成します。コンテナの /data の下にローカル ファイル ボリュームをマウントできるため、コンテナのデータ ディレクトリでの操作はローカル ボリュームでの操作と同じになります。

CMD:コンテナの起動時に実行されるコマンド。1 つだけです。

作成された画像の操作は、ファイル内の情報をカウントし、それを 2.txt に入力することです。 $docker build –t count:v1 ./ を使用してイメージを作成し、表示します。

実行時に、-v /root/laipeng.han/file:/data を追加して、ローカル ファイル /root/laipeng.han/file をコンテナの /data の下にマウントする必要があります。そうすると、/root/laipeng.han/file の下にあるすべてのファイルがコンテナの /data/ の下に表示されます。

実行コマンドは次のとおりです: docker run -v /root/laipeng.han/file:/data count:v1

最終コンテナは /data/ の下に結果ファイル 2.txt を出力します。これは /root/laipeng.han/file/ でも確認できます。この方法では、/root/laipeng.han/file/ の下にある countfile.py コードを変更し、新しいイメージ ファイルを作成せずに直接実行できます。

上記のコードは個人的にテスト済みですので、ご自由に実行してください。皆様の学習に役立つことを願っております。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Docker のコンテナ データ ボリュームの概要
  • Dockerでボリュームを管理する2つの方法
  • Dockerボリューム削除操作
  • Dockerボリュームのファイルマッピング方法
  • Docker データ ストレージ ボリュームの詳細な説明
  • Docker ボリュームの使用の詳細と例
  • Dockerはデータボリュームにデータを書き込む

<<:  Reactの3つの主要属性におけるpropsの使用の詳細な説明

>>:  CocosCreatorがスキル冷却効果を実装

推薦する

CSS3は水平方向の中央揃え、垂直方向の中央揃え、水平方向と垂直方向の中央揃えのサンプルコードを実装しています。

フロントエンドの担当者であれば、面接でも仕事中でも、「CSS を使用して中央揃えにする」という効果に...

MySQL バッチ SQL 挿入パフォーマンス最適化の詳細な説明

大量のデータを扱うシステムの中には、クエリ効率の低さやデータの保存時間の長さといったデータベースの問...

Ubuntu 19でdockerソースをインストールできない問題を共有する

主要な Web サイトと個人的な習慣に従って、Docker ソースを追加するには次の方法を使用します...

Node.js mysqlクライアントが認証プロトコルをサポートしていない問題を解決する

序文mysql モジュール (プロジェクト アドレスは https://github.com/mys...

js でオブジェクトを作成するさまざまな方法とその長所と短所のまとめ

目次初期作成方法ファクトリーパターンコンストラクターパターンコンストラクタパターンの最適化プロトタイ...

Dockerコンテナのいくつかの保存方法の詳細な説明

目次前面に書かれた複数のストレージマウント方法1.バインドマウント2. 巻数3.tmpfsマウントス...

Centos7 MySQL データベースのインストールと設定のチュートリアル

1. システム環境yum updateアップグレード後のシステムバージョンは[root@yl-web...

Linux に MySql 5.7.21 をインストールするための詳細な手順

序文Linux で最も広く使用されているデータベースは MySQL です。この記事では、Linux ...

デザイナーの「職業病」について

デザイナーは世界で最も繊細で感情的な人々だと私はいつも感じています。私がこう言うときに優越感を感じる...

Vueプロジェクトが完了した後にプロジェクトを最適化する方法の例

目次1. 開発モードとリリースモードに異なるパッケージエントリポイントを指定する2. 外部CDNリソ...

CSS で透明なグラデーション効果を実装するためのサンプルコード

Zhihu Discovery コラムのタイトル画像は、通常、以下のように表示されます。明らかに、グ...

Vue.jsは背景テーブルコンポーネントのカプセル化を管理します

目次問題分析なぜカプセル化なのかパッケージの内容は何ですか?テーブルコンポーネントをカプセル化するデ...

MySQLはランダムに一定数のレコードを抽出します

以前は、このような使用シナリオを処理するために rand() で直接 order していましたが、効...

CSS3はグラフィックの落下アニメーション効果を実現します

まずは効果を確認実装コード <div class="box box1"&g...

mysql 5.7.23 winx64 解凍バージョンのインストールチュートリアル

参考までに、mysql-5.7.23-winx64 解凍版の詳細なインストールチュートリアルです。具...