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の他の関連記事に注目してください。 以下もご興味があるかもしれません:
|
余計なことは言わないで、コードだけ見てみましょう〜 プロジェクト番号を選択、 sum(case wh...
序文: Vue を使用する場合、多くの場合、カスタム プラグインをいくつか使用して記述し、 Vue....
コンテンツオーバーフローとは何ですか?実際、テキストが大量にある場合、コンテンツ領域がそれだけの長さ...
具体的なコードは次のとおりです。 <!DOCTYPE html> <html>...
現象Dockerコンテナを起動する docker run –name [コンテナ名] [コンテナID...
フローティング、フローティング埋め込み div、配置、フレックスという 4 つの一般的な方法と原則を...
LNMPのようなアーキテクチャを持つウェブサイトは、一般的にPHPフレームワークに基づいて開発されて...
アプリケーションシナリオ1: ドメイン名ベースのリダイレクト会社の古いドメイン名は www.accp...
目次Linux MySQL 5.5 が MySQL 5.7 にアップグレードされました1. mysq...
Tomcat が自動的にサービスを開始するように設定します。最近、問題が発生しました。サーバー上のプ...
<br />「良いデザインとは何か」と答える 1 万人に対して、少なくとも 1 万 1 ...
操作については、こちらの公式ドキュメントを参照してください。インストール1. 古いバージョンの do...
最近、弁護士推薦のウェブサイトを作成していたのですが、検索ボックスに問題がありました。検索ボックス内...
目次1. proxy と Object.defineProperty の利点2. プロキシ監視オブジ...
MySQL データベースのバージョンを 5.6.28 から 8.0.11 にアップグレード中にプロジ...