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

推薦する

CSS BEM 記述標準の詳細な説明

BEM は、Web 開発に対するコンポーネントベースのアプローチです。ユーザー インターフェイスを独...

ES6スプレッド演算子の使用例

目次スプレッド演算子とレスト演算子とは何ですか?配列スプレッド演算子残り演算子(コレクション関数)ス...

Vue + 要素を使用して背景データをオプションに動的に表示する

必要:ハードコードされたデータの代わりに、セレクター内のオプション値の動的な表示を実装します。私のロ...

JavaScript キャンバス テトリス ゲーム

テトリスは非常に古典的な小さなゲームで、私もそれを書いてみました。しかし、できるだけ簡潔で論理的なコ...

Vue バックグラウンドでステータス ラベルをエレガントに記述する例

目次序文最適化変数の抽出二次包装 el-tag コンポーネント使用要約する序文バックエンドシステムの...

MySQL インデックスの詳細な説明

目次1. インデックスの基本1.1 はじめに1.2 インデックスの仕組み1.3 インデックスの種類1...

MySQL はリレーショナルデータベースですか?

MySQL はリレーショナル データベース管理システムです。リレーショナル データベースは、すべて...

よくある MySQL テーブル設計エラーの概要

目次間違い1: データの列が多すぎる誤解2: 共同クエリが多すぎる誤解3: ENUMの代わりにSET...

W3C チュートリアル (5): W3C XML アクティビティ

XML は、データを記述、保存、送信、交換するために設計されています。 XML 1.0 は XML ...

ページのスクロールバーを無効にするには、overflow: hiddenを使用します。

コードをコピーコードは次のとおりです。 html {オーバーフロー: 非表示; }体{オーバーフロー...

フロントエンドアプリケーションのjenkins+gitlab+nginxデプロイメント

目次関連する依存関係のインストールドッカーDockerでJenkinsをインストールするDocker...

DIVマスクを使用して、マウスでチェックボックスを直接チェックすることが無効である問題を解決します

フロントエンドの開発過程で、チェックボックスが必要な状況が発生しました。ユーザー操作の利便性を考慮し...

Windows での MySQL データベースのマスター/スレーブ構成チュートリアル

WindowsでMySQLデータベースのマスターとスレーブを構成する詳細なプロセスは次のとおりです。...

Ubuntu 18.04 システムでの Redis および phpredis 拡張機能のインストールと設定の詳細な説明

この記事では、Ubuntu 18.04 に Redis と phpredis 拡張機能をインストール...

CSSでよく使われるフォントスタイルを設定することで様々なフォントの変更が可能(例詳細説明)

CSS フォント プロパティは、テキストのフォント ファミリ、サイズ、太字、スタイル (斜体など)...