Docker の設計では、コンテナは 1 つのアプリケーションのみを実行します。しかし、現在のアプリケーション システムのほとんどは、1 つのアプリケーションだけで構成することはできません。コンテナ間の接続とデータ交換の方法についてはすでに説明しましたが、これらの方法は、完全なアプリケーション システムのコンテナ グループを構築するためにも使用できます。ただし、多くのコマンドを実行する必要があり、多くのアプリケーションとコンテナの関係を考慮する必要があります。Docker Compose は、これらの複雑な操作を解決するように設計されています。 コンテナ管理問題の解決最も単純な例を挙げると、アプリケーション コンテナ用に MySQL コンテナと Redis コンテナを準備する場合、起動のたびに、まず MySQL コンテナと Redis コンテナを起動し、次にアプリケーション コンテナを実行する必要があります。アプリケーション コンテナを作成するときは、アプリケーションが接続してデータを交換できるように、コンテナ ネットワークを MySQL コンテナと Redis コンテナに接続することを忘れないでください。 これだけじゃ十分ではありません。コンテナをさまざまな方法で構成した場合は、コンテナの作成と構成のコマンドを保存して、次回直接使用できるようにしたほうがよいでしょう。 このシステムを docker run や docker rm のようにシームレスに切り替えたい場合は、さらに面倒になります。コマンドのスレッドボールに閉じ込められないようにするために、いくつかのスクリプトを作成する必要があるかもしれません。 実際、コアにはコンテナの組み合わせを管理するためのものがまだ欠けています。 Docker の作成Docker Compose: 複数のコンテナでソフトウェアを定義して実行します。 Docker Compose では、アプリケーション システムに関連するすべてのアプリケーションと対応するコンテナーが構成ファイルに従って構成され、Docker Compose が提供するコマンドに従って起動されるため、前述の複数のコンテナー間の複雑な問題を解決できます。 Docker Compose は、イメージに対する Dockerfile の役割と同様に、複数のコンテナの動作モードと構成を固定化するものとして理解できます。 Docker Composeをインストールする#ダウンロード curl -L "https://github.com/docker/compose/releases/download/1.22.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose #権限を設定する chmod +x /usr/local/bin/docker-compose #インストール情報を表示する docker-compose バージョン Docker Composeの基本的な使い方Docker Compose の中核となるのは、YAML 形式に基づいた構成ファイルです。 Dockerfile がイメージビルド定義のデフォルトのファイル名として Dockerfile という名前を使用するのと同様に、Docker Compose 構成ファイルにもデフォルトのファイル名 バージョン: '3' サービス: ウェブアプリ: ビルド: ./image/webapp ポート: - 「5000:5000」 ボリューム: - ./コード:/コード -ログボリューム:/var/log リンク: -MySQLについて - レディス レディス: イメージ: redis:3.2 マイスク: イメージ:mysql:5.7 環境: -MYSQL_ROOT_PASSWORD=私の秘密のパスワード ボリューム: ログボリューム: {} Docker Compose 構成ファイルには、各コンテナの詳細な制御からネットワークやデータ ボリュームの定義まで、さまざまなコンテンツを含めることができます。 開始と停止起動する
停止 コンテナコマンドこれらのコマンドは、Docker Engine で単一のコンテナを操作するために使用されるコマンドに似ています。一般的なコマンドをいくつか見てみましょう。
同様に、Docker Compose には、1 つ以上のサービスを個別に制御できる同様のコマンドがいくつかあります。 これで、Docker Compose を使用したコンテナ管理に関するこの記事は終了です。Docker Compose を使用したコンテナ管理の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: CSS と JavaScript を使用して管理ダッシュボードのレイアウトを構築するためのサンプル コード
>>: Vue の高度な使用方法チュートリアル 動的コンポーネント
復帰文字 ( Ctrl+M ) に不安を感じても心配しないでください。それらを排除する簡単な方法がい...
テーブル名を変更したり、テーブル フィールドを変更したりする必要がある場合は、 MySQL ALTE...
Linux で大量のファイルを削除する効率をテストします。まず500,000個のファイルを作成する$...
1. 背景1. フロントエンドはvue + vuex + socket.io-clientを使用しま...
目次1. 準備2. 説明計画の概要3. フィールドの詳細な説明4. パーティションクエリにはパーティ...
目次1. grub.cfg ファイルの紹介1. grub.cfg ファイルの場所2. grub.cf...
コードをコピーコードは次のとおりです。 jQuery.cookie = 関数(名前、値、オプション)...
目次1. ユーザーとユーザーグループの重要性1) ユーザーの存在意義2) ユーザーグループの重要性2...
目次問題の原因:解決:解決:私は Centos7 を使用しています (理論的にはこの方法は Cent...
導入インストールするシステムの数が多い場合、USB フラッシュ ドライブまたは CD を使用した手動...
W3C は HTML の標準をいくつか確立していますが、ブラウザは独自の定義済みスタイルに従って W...
目次1. プロジェクト要件2. 文書の内容3. プロジェクト例4. プロジェクトコード1. プロジェ...
<TH> タグは、テーブル内のヘッダーのプロパティを設定するために使用されます。以下の...
この記事では、Linux 環境での ActiveMQ の展開方法について説明します。ご参考までに、詳...
1. マインドマップ 2. コンテナの構築方法2.1 実験環境の準備(1)環境選択管理ツール: D...