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がスキル冷却効果を実装

推薦する

MySQLは遅いSQLを開始し、原因を分析します

ステップ1. MySQLスロークエリを有効にする方法1: 設定ファイルを変更するWindows: W...

Rancher のデプロイメントと K8S クラスターのインポートに関する問題

Rancher のデプロイメントには、次の 3 つのアーキテクチャがあります。高可用性 Kubern...

スタイル属性 (element.style) で定義されたインライン スタイルを削除する方法

Magento を頻繁に変更する場合、element.style に遭遇することがあります。 これは...

MySQL プロセス制御 IF()、IFNULL()、NULLIF()、ISNULL() 関数

MySQL では、IF()、IFNULL()、NULLIF()、および ISNULL() 関数を使用...

ReactでuseStateを使用する詳細な例

使用状態useState は、関数コンポーネント内で呼び出すことで、コンポーネントに内部状態を追加し...

Vue の el-table は自動天井効果を実現します (固定をサポート)

目次序文実装のアイデア効果:使用:メインソースコード:序文多くのケースを見た結果、単純な観点からは、...

docker compose を使用してハーバープライベートウェアハウスをインストールする詳細なチュートリアル

概要港とは何ですか?英語の単語の意味は「港」です。 Harborはコンテナ(貨物)を保管するために使...

Windows システム mysql5.7.18 インストール グラフィック チュートリアル

Windows システム向け MySQL インストール チュートリアルダウンロード1. https:...

レスポンシブ原則のソースコード分析のVue解釈

目次初期化初期化状態()初期化プロパティ()初期化データ()観察する()オブザーバーリアクティブを定...

HTML タグ マーキーを使用してスクロール効果を実現する簡単な方法 (必読)

ページの自動スクロール効果は JavaScript で実現できますが、今日偶然、JS 制御なしでさま...

MySQL でトリガーを無効化および有効化するチュートリアル [推奨]

MYSQL を使用する場合、トリガーがよく使用されますが、不適切な使用によって問題が発生する場合が...

MySQL の例 DTID マスタースレーブ原理の分析

目次1. GTIDの基本概念2. GTIDの利点3. GTIDの仕組み4. 従来のレプリケーションに...

HTML の blockquote タグの使用と美化

ブロック引用の定義と使用法<blockquote> タグは引用ブロックを定義します。 &...

Mysql データベース ストアド プロシージャの基本構文の説明

プロシージャ sp_name を削除します//これまで、MYSQL 構文の基礎知識について説明して...