1. はじめにDocker には、タスクを構成する複数の Docker コンテナをオーケストレーションおよび管理できる、docker-compose と呼ばれるオーケストレーション ツールがあります。同様に、Swarm クラスターでは、docker スタックを使用して、関連するサービスのグループをオーケストレーションおよび管理できます。 Docker スタックも docker-compose.yml ファイルに似た yaml ファイルであり、手順は基本的に同じです。しかし、compose と比較すると、build、links、network_mode はサポートされていません。 Docker スタックには新しいコマンド deploy があります。 注: スタックは命令をサポートしていません 2. デプロイDeploy は、Swarm サービスのデプロイメントとランタイムに関連する構成を指定するために使用され、docker stack deploy を使用して Swarm クラスターがデプロイされた場合にのみ有効になります。このオプションは、docker-compose up または docker-compose run を使用する場合は無視されます。デプロイ オプションを使用するには、compose ファイルのバージョンが 3 または 3+ である必要があります。 バージョン: '3' サービス: レディス: 画像: redis:alpine 展開する: レプリカ: 6 アップデート構成: 並列処理: 2 遅延: 10秒 再起動ポリシー: 条件: 失敗時 (1) エンドポイントモード スウォームサービス検出モードを指定する
DNS ラウンドロビン (DNSRR) サービス検出では、単一の仮想 IP は使用されません。 Docker は、サービス名の DNS クエリが IP アドレスのリストを返すように、サービスの DNS エントリを設定し、クライアントがそのうちの 1 つに直接接続します。 DNS ラウンドロビンは、独自のロード バランサーを使用する場合や、Windows アプリケーションと Linux アプリケーションが混在している場合に便利です。 注: バージョン 3.3+ バージョン: "3.3" サービス: ワードプレス: 画像: wordpress ポート: -8080:80 ネットワーク: - かぶせる 展開する: モード: 複製 レプリカ: 2 エンドポイントモード: vip マイスク: 画像: mysql ボリューム: -db-data:/var/lib/mysql/data ネットワーク: - かぶせる 展開する: モード: 複製 レプリカ: 2 エンドポイントモード: dnsrr ボリューム: dbデータ: ネットワーク: かぶせる: (2)ラベル サービスのラベルを指定します。これらのラベルはサービスにのみ設定され、サービスのコンテナーには設定されません。 バージョン: "3" サービス: ウェブ: 画像: ウェブ 展開する: ラベル: com.example.description: "このラベルは Web サービスに表示されます" 代わりにコンテナにラベルを設定するには、deploy の外部で labels キーを使用します。 バージョン: "3" サービス: ウェブ: 画像: ウェブ ラベル: com.example.description: 「このラベルは、Web サービスのすべてのコンテナーに表示されます」 (3)モード グローバル (クラスター ノードごとに 1 つのコンテナーのみ) またはレプリカ (コンテナーの数を指定)。デフォルト値がコピーされます。 バージョン: '3' サービス: ワーカー: イメージ: dockersamples/examplevotingapp_worker 展開する: モード: グローバル (4)配置 制約と設定の指定 バージョン: '3' サービス: デシベル: 画像: postgres 展開する: 配置: 制約: - node.role == マネージャー -engine.labels.operatingsystem==ubuntu 14.04 設定: - スプレッド: node.labels.zone (5)レプリカ サービスが複製モード (デフォルト) の場合、サービスに対して実行するコンテナの数を指定できます。 バージョン: '3' サービス: ワーカー: イメージ: dockersamples/examplevotingapp_worker ネットワーク: -フロントエンド - バックエンド 展開する: モード: 複製 レプリカ: 6 (6)リソース リソース制限の設定 バージョン: '3' サービス: レディス: 画像: redis:alpine 展開する: リソース: 制限: CPU: '0.50' メモリ: 50M 予約: CPU: '0.25' メモリ: 20M 次の例では、redis サービスは、メモリを 50 MB 以下、使用可能な処理時間 (CPU) を 0.50 (50%) 以下に制限し、メモリを 20 MB、CPU 時間を 0.25 (常に使用可能) 使用しています。 (7)RESTART_POLICY コンテナが終了したときに再起動するかどうか、また再起動する方法を設定します。再起動コマンドを置き換えます。
バージョン: "3" サービス: レディス: 画像: redis:alpine 展開する: 再起動ポリシー: 条件: 失敗時 遅延: 5秒 最大試行回数: 3 ウィンドウ: 120秒 (8) アップデート_CONFIG 構成サービスのアップグレード方法
バージョン: '3.4' サービス: 投票する: イメージ: dockersamples/examplevotingapp_vote:before 依存: - レディス 展開する: レプリカ: 2 アップデート構成: 並列処理: 2 遅延: 10秒 順序: 最初に停止 (9) 依存する サービス間の依存関係を表す バージョン: '3' サービス: ウェブ: 建てる: 。 依存: -db - レディス レディス: 画像: redis デシベル: 画像: postgres (10)DNS カスタム DNS サーバー。単一の値またはリストを指定できます。 ドメイン名: 8.8.8.8 ドメイン名: - 8.8.8.8 - 9.9.9.9 (11) DNSサーチ dns_search: example.com dns_検索: - dc1.example.com dc2.example.com の URL は http://www.dc2.example.com/ です。 (12)環境 環境変数を追加します。配列または辞書を使用できます。ブール値(true/false、yes/no)は、YML パーサーによって True または False に変換されないように、引用符で囲む必要があります。 環境: RACK_ENV: 開発 表示: 'true' セッションシークレット: 環境: - RACK_ENV=開発 - 表示=true -セッションシークレット (13)暴露する コンテナ内のポートを開いても、ホスト上のポートは公開されません。関連付けられているサービスのみがポートにアクセスできるようになります。内部ポートのみ指定できます。 さらす: - 「3000」 - 「8000」 以上がDocker Swarmサービスオーケストレーションコマンドの詳細な内容です。Docker Swarmサービスオーケストレーションの詳細については、123WORDPRESS.COMの他の関連記事に注目してください。 以下もご興味があるかもしれません:
|
コードサンプルヘッドタグにコード行を追加します: XML/HTML コードコンテンツをクリップボード...
序文フィールドの追加は誰でもよく知っていると思います。簡単に記述できます。MySQL テーブルにフィ...
1. インラインスタイル仮想DOMにインラインスタイルを追加するには、式を使用してスタイルオブジェク...
この記事では、MySQLのダウンロードとインストールの詳細なチュートリアルを記載しています。具体的な...
1. まず、純粋なHTMLファイルにはindex.htmlというエントリが必要です。 2. Tomc...
1. ESを使うこともあるリソースが限られている、またはビジネス上のニーズにより、最新の期間のデータ...
チャレンジ:文字列内の文字 &、<、>、" (二重引用符)、および &...
前回、非常に熱心なファンから、月を呼吸する光の効果にできるかどうか尋ねられました。月の大きさの写真が...
Web デザインにおけるツリーとは何ですか?簡単に言うと、リンクをクリックするとサブディレクトリが展...
Linux ストリーム エディターは、データ センターでスクリプトを実行するのに便利な方法です。これ...
2つの異なるサーバー間の転送ポート転送を有効にするまず、デフォルトでは無効になっている IP 転送機...
1. 問題MySQL の初期化時に発生する問題は、次のとおりです。 1. 「MSVCR120.dll...
以前にも同じような記事を書いたことがありますが、js スクリプトを使用しており、ファイルパスを表示で...
目次コンポーネント設計最終的なコンポーネントAPIの定義コンポーネント構造の定義テンプレートとスタイ...
ナビゲーションバーの作成:技術要件: CS HTMLタグ達成目的:ナビゲーションバーメニューの作成コ...