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

推薦する

VSCode の JS フォーマットでセミコロンを自動的に追加または削除する方法について

導入js コード文の末尾にセミコロンを追加しても追加しなくても問題ありません。一般的に、チームで開発...

Hyper-V の紹介とインストールと使用 (詳細な図解)

はじめに:IT 業界の巨人である Microsoft 独自の仮想化技術は、VMware や Citr...

MySQLトランザクションの特徴と分離レベルについてお話ししましょう

インターネットにはすでにこの種の記事が溢れていますが、私がこれをまだ書いている理由は単純です。それは...

MySQL 8.0 のタイムゾーン問題を解決する手順

ソフトウェアバージョンウィンドウズ: ウィンドウズ10 MySQL: mysql-8.0.16-wi...

Dockerイメージの階層化の原理の詳細な説明

ベースイメージベースイメージには 2 つの意味があります。他のイメージに依存せず、ゼロから構築します...

純粋な HTML タグにどれくらい精通していますか?

以下の HTML タグには、基本的に既存のタグがすべて含まれています。数分かけて 1 つずつ参照する...

Vueがビデオアップロード機能を実装

この記事では、参考までに、ビデオアップロード機能を実現するためのVueの具体的なコードを紹介します。...

1つのSQL文でMySQLの重複排除が完了し、1つが保持されます。

数日前、ある要件に取り組んでいたとき、MySQL で重複レコードをクリーンアップする必要がありました...

node.js の require メソッドの読み込みルールの詳細な説明

require メソッドの読み込みルールキャッシュからの読み込みを優先するコアモジュールパス形式のモ...

Linuxの運用・保守の基礎知識から上級者向け知識までをまとめました

運用保守エンジニアは、初期段階では非常に大変な仕事です。この期間中、コンピューターの修理、ネットワー...

shtmlとhtmlの違い

Shtml と asp は似ています。shtml という名前のファイルでは、asp の命令と同様に、...

HTMLのテーブルの内容は中央に水平と垂直に表示されます

CSSスタイルファイルで指定 #class td /*表のテキストを左右上下に揃えるように設定する*...

Linux teeコマンドの使い方の詳しい説明

teeコマンドは主にstandout(標準出力ストリーム、通常はコマンド実行ウィンドウ)に出力し、同...

HTML の類似タグと属性の違いの詳細な説明

【1】<i></i>タグと<em></em>タグ同じ...

MySQL におけるデータタイムとタイムスタンプの違い

MySQL には 3 つの日付型があります。日付(年-月-日)テーブル test(hiredate ...