導入Docker-Compose プロジェクトは、Docker コンテナ クラスターの迅速なオーケストレーションを実現することを目的とした、Docker の公式オープン ソース プロジェクトです。 Compose を使用すると、ユーザーは単一の docker-compose.yml テンプレート ファイル (YAML 形式) を通じて、関連するアプリケーション コンテナーのグループをプロジェクトとして定義できます。 Docker-Compose プロジェクトは Python で記述されており、Docker サービスによって提供される API を呼び出してコンテナを管理します。したがって、オペレーティング プラットフォームが Docker API をサポートしている限り、Compose をオーケストレーション管理に使用できます。 Docker-Compose は、管理対象コンテナをプロジェクト、サービス、コンテナの 3 つのレイヤーに分割します。 Docker-Compose 実行ディレクトリ内のすべてのファイル (docker-compose.yml、extends ファイル、環境変数ファイルなど) がプロジェクトを形成します。特別なプロジェクト名が指定されていない場合は、現在のディレクトリ名が使用されます。プロジェクトには複数のサービスを含めることができ、各サービスは実行中のコンテナのイメージ、パラメーター、依存関係を定義します。サービスには複数のコンテナ インスタンスを含めることができます。Docker-Compose では負荷分散の問題が解決されないため、サービス検出と負荷分散を実現するには他のツールが必要です。 Docker-Compose のデフォルトのプロジェクト構成ファイルは docker-compose.yml です。環境変数 COMPOSE_FILE または -f パラメータを使用して構成ファイルをカスタマイズできます。複数の依存サービスと各サービスを実行するコンテナを定義します。 一般的なコマンド docker-compose 導入Compose の役割は、「複数の Docker コンテナでアプリケーションを定義して実行すること」です。 Compose を使用すると、アプリケーションのサービスを構成ファイル (yaml 形式) で構成し、構成で参照されるすべてのサービスを 1 つのコマンドで作成して起動できます。 Docker ComposeのインストールCompose をインストールする方法は多数あります。この記事では、シェル経由でインストールする方法について説明します。他の設置方法にご興味がございましたら、 Docker Composeのインストール手順GitHubリンクからダウンロードしてインストールしてください。非ROOTユーザーはsudoを追加することを忘れないでください sudo curl -L "https://github.com/docker/compose/releases/download/1.25.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose バイナリダウンロードファイルに実行権限を与える sudo chmod +x /usr/local/bin/docker-compose インストールを確認する docker-compose --version アンインストールバイナリパッケージとしてインストールされている場合は、バイナリファイルを削除するだけです rm /usr/local/bin/docker-compose ディレクトリ構造作曲する ドッカーの作成 ユーレカ Dockerファイル eureka-server-2.0.2.RELEASE.jar ユーザー Dockerファイル ユーザー 2.0.2.RELEASE.jar 力 Dockerファイル パワー 2.0.2.RELEASE.jar 例Compose の使い方は非常に簡単です。docker-compose.yml ファイルを記述し、docker-compose コマンドを使用するだけです。 docker-compose.yml はコンテナの構成を記述し、docker-compose コマンドはコンテナの操作を記述します。 ドッカーの作成 version: '3.1' #ここでは、docker-compose サービスに対応する docker バージョンを指定する必要があります。 jenkinstest: #サービス名を指定します#image: jenkinstest #イメージ名は小文字で指定します。そうしないとエラーが報告されますbuild: ./jenkinsTest #Dockfile が配置されているパスを指定しますports: - 8099:8099 #ポートマッピング公開を指定します: - 8099 #公開されたサービスポート Dockerファイル adoptopenjdk/openjdk8:jdk8u-centos-nightly より #著者MAINTAINER lkz # イメージによって公開されるポート。ポートを使用する場合は、docker run コマンド EXPOSE 8099 を実行するときに -p を使用して有効にします。 jenkinsTest.jar 11.jarをコピーする # イメージがコンテナとして実行された後に実行されるコマンド ENTRYPOINT ["java","-jar","11.jar"] マイクロサービスを開始するには、パラメータ-dを追加してバックグラウンドで開始することができます。docker-compose を起動 -d Docker Compose を使用して SpringCloud マイクロサービスをオーケストレーションするdocker-compose.ymlファイルを上記のように修正します。 バージョン: '3.3' サービス: ユーレカ: image: eureka:v1 #イメージ名を指定します build: ./eureka #Dockfileが配置されているパスを指定します ports: - 8080:8080 ユーザー: 画像: ユーザー:v1 build: ./user #Dockfile が配置されているパスを指定します ports: -8081:8081 力: 画像: パワー:v1 build: ./power #Dockfileが配置されているパスを指定しますports: -8082:8082 docker-compose イメージ公開 springboot プロジェクトのプロセス分析に関するこの記事はこれで終わりです。より関連性の高い docker-compose 公開 springboot プロジェクトのコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後も 123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: DHTML オブジェクト (さまざまな HTML オブジェクトの共通プロパティ)
>>: MYSQL(電話番号、IDカード)データ非感応化の実装
1. トップレベルの使用法1. cnpmをインストールする npm i -g cnpm --regi...
以前、プロジェクトを開発しているときに、flex レイアウトと position:absolute/...
背景mysql.slow_log からスロー クエリ ログを取得するのは遅く、テーブルは csv テ...
1. 環境を準備する(Node.jsをダウンロードし、環境変数を設定する) 2. vue-cliをグ...
ktl ツールを使用して、mysql から mysql にデータを同期します。 1. 新しいジョブス...
親コンテナの幅は固定されています。子要素が親の幅を均等に分割するには、どのような方法がありますか?コ...
<テンプレート> <div class="demo">...
概要:ファイルシステム モジュールは、標準の POSIX ファイル I/O 操作セットをラップしたシ...
Web ページやフォームを設計するたびに、さまざまなブラウザ、特に IE ファミリの互換性の問題に悩...
1. シナリオ表示Tomcat ログに次の例外情報が時々報告されます。何が起こっているのでしょうか...
httpsを取得する方法を勉強しています。最近、Tencent Cloud が提供する無料の SSL...
この記事は主に、SQL のストアド プロシージャから返されたデータを取得するプロセスの分析を紹介しま...
1. Docker環境を準備する2. fastdfsイメージを検索する 3. イメージをプルするdo...
前回の記事では、docker compose を使用して FastDfs ファイル サーバーをインス...
負荷は通常、システム設計時に予測されます。システムがパブリック ネットワークに公開されている場合、悪...