ボリュームとは何ですか? ボリュームは英語で容量を意味し、Docker ではデータ ボリューム、つまりデータを格納するためのコンテナーを意味します。 なぜデータを共有するのですか? クラスターには複数の Tomcat があります。クラスター内の Tomcat にデプロイされたコードは同じコードのコピーです。ページ ファイルが変更されると、各コンテナーのページ ファイルを更新する必要があることを意味します。大規模なクラスターでは、このようなワークロードは無限に拡大します。このとき、この問題を解決するにはデータ共有が必要です。いわゆるデータ共有とは、複数のコンテナーがデータのコピーを共有することを指します。これを Docker 環境で実現するにはどうすればよいでしょうか。 データ共有の原則 ホストのハードディスク上に共有データを保存するためのスペースを作成します。複数のコンテナがこのディレクトリを共有します。 データ共有を実現するソリューション データ共有といえば、共有ディレクトリをマウントする Linux の mount コマンドを思い浮かべるのが簡単です。 [x] パラメータ [x] コンテナを共有する コンテナは共有ディレクトリを直接マウントします リソースリスト 2 つの Tomcat コンテナを準備します。 詳細な手順 共有データの作成 共有ディレクトリを作成します: 私はボリューム共有ディレクトリ albk です! docker run -d --name tomcat8000 -p 8000:8080 -v /usr/local/docker/volumn:/usr/local/tomcat/webapps tomcat docker run -d --name tomcat8001 -p 8001:8080 -v /usr/local/docker/volumn:/usr/local/tomcat/webapps tomcat コンテナを起動するときに、ホストの コンテナが正常に起動していることを確認する ドック ps ブラウザアクセス 共有ファイルを変更する
ブラウザを再認証する 変更した内容がリアルタイムで反映され、Tomcat コンテナを再デプロイする必要がないことがわかります。ただし、これにより、コンテナを起動するたびにパラメータが非常に長くなり、エラーが発生しやすくなります。これは、クラスターが小さい場合は許容されますが、規模が大きい場合は多くの作業が必要になります。別の方法を見てみましょう。 共有コンテナのマウント上記の方法を使用して、-vを使用して共有ディレクトリをマウントし、共有コンテナ docker create --name webpages -v /usr/local/docker/volumn/pages:/usr/local/tomcat/webapp tomcat /bin/true 共有コンテナのマウント docker run --name tomcat8000 -d -p 8000:8080 --volumes-from webpages tomcat docker run --name tomcat8001 -d -p 8001:8080 --volumes-from webpages tomcat 検証プロセスは上記と同じです。コンテナ Web ページの実際の機能は、マウント ポイントを定義することです。コンテンツを変更する場合は、共有コンテナの共有ディレクトリを変更するだけで済みます。 要約する コンテナが少ない場合は 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: MySQL で結合を使用して SQL を最適化する方法の詳細な説明
目次1. WeChat Payを開く1.1 アフィリエイト加盟店番号1.2 加盟店番号を追加する1....
目次Vueプロジェクトのパッケージ化、起動、最適化Vueプロジェクトのパッケージ化プロジェクトホステ...
目次Viteプロジェクトビルドの最適化他のやっとこれは前回の記事の補足です。設定プロジェクトで遭遇し...
1. カーディナリティとは何ですか?カーディナリティとは、MySQL テーブルの列内の異なる値の数を...
EXPLAIN は、MySQL がインデックスを使用して選択ステートメントを処理し、テーブルを結合す...
目次Linux での Hbase のインストールと設定1. Hbaseインストールパッケージをダウン...
<div class="box"> <画像 /> &l...
目次1. テレポートの紹介1.1. 複数のテレポートを使用する2. テレポートを使用する理由3. テ...
MySQL エスケープエスケープとは、エスケープ文字の本来の意味を意味します。エスケープ文字の目的は...
方法1: コマンドラインの変更次の図に示すように、MySQL コンソールを開いて「set GLOBA...
暫定的な応答を示し、要求者に操作の続行を要求するステータス コード。コードの説明100 (続行) リ...
序文MySQL では、クロスデータベース クエリは主に 2 つの状況に分けられます。1 つは同じサー...
導入コンパイル、インストール、問題の解決後、Nginx は正常に動作していますが、現時点では Ngi...
<br />HTMLノードの追加と削除の簡単な例<input type="...
描画効果実装コードJavaScript var キャンバス = document.getElemen...