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

推薦する

タブ切り替えを実装するための HTML サンプル コード

タブ切り替えもプロジェクトではよく使われる技術です。一般的にタブ切り替えはjsやjqを使って実装され...

js の一般的でない演算子と演算子の概要

一般的な演算子と JavaScript の演算子の概要カテゴリオペレーター算術演算子+、–、*、/、...

カルーセルバナーの自動回転効果を実現する純粋な CSS

さっそくコードを見てみましょう * { マージン: 0; パディング: 0; } 。容器 { マージ...

iframe でページを開く方法

解決:リンクのターゲット属性値をターゲット フレームワーク名と同じに設定するだけです。具体的な手順:...

JavaScript の基本変数

目次1. 変数の概要1.1 変数のメモリへの保存1.2 変数の使用1. 変数を宣言する2. 譲渡3....

Mysql は null 値の first/last メソッドの例を実装します

序文MySQL が SQL SELECT コマンドと WHERE 句を使用してテーブルからデータを読...

JavaScript の例におけるループの使用法の詳細な説明

退屈だったので、ループに関する簡単な演習をいくつかまとめてみました。JS を学び始めたばかりの方に役...

Nginx コンテンツ キャッシュと共通パラメータ設定の詳細

使用シナリオ:プロジェクトのページでは、頻繁に変更されず、個別のカスタマイズも伴わない大量のデータを...

MySQL UPDATE ステートメントの非標準実装コード

今日は、MySQL データベースと SQL 標準 (および他のデータベース) の UPDATE ステ...

CentOS 7.3 で Nginx 仮想ホストを設定する方法

実験環境最小限にインストールされた CentOS 7.3 仮想マシン基本環境を構成する1. ngin...

さまざまな種類のMySQLインデックス

インデックスとは何ですか?インデックスは、データベース ストレージ エンジンが指定されたデータをすば...

axiosリクエストをvueでカプセル化する方法

実際、Vueでaxiosをカプセル化するのは非常に簡単ですまず、srcパスにhttpフォルダを作成し...

MySQL コマンドラインモードアクセス操作 MySQL データベース操作

使用環境cmd モードで、mysql --version と入力します (インストールされている M...

MySQL 5.6 の「暗黙的な変換」によりインデックスが失敗し、データが不正確になる

背景SQL クエリを実行するときに、where 条件の vachar 型フィールドの単一引用符を削除...

Python の MySQL データベース LIKE 演算子の詳細な説明

LIKE 演算子は、列内の指定されたパターンを検索するため、WHERE 句で使用されます。文法: 列...