問題タブ [docker-swarm-mode]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
862 参照

docker - 複数のシステム アーキテクチャを持つ群れで docker サービスを実行する

新しい docker swarm modeを使用して、ラップトップ (x86_64) と Raspberry Pi のクラスター (armhf) の両方で分散アルゴリズムをテストしたいと考えています。

一連の構成の後、1 つのマネージャー ノード (ラップトップ) と N+1 のワーカー ノード (N rasps と私のラップトップ) で構成される swarm クラスターを正常に作成できます。次のようになります。

ここで、プロジェクト用に 2 つのイメージを作成しましmy_project:x86_64た。x86_64 のイメージ ( ) と armhf のイメージ ( my_project:armhf) です。M 個の (準) 独立したノードを作成することはまさに私が望んでいることなので、この新しいスウォーム モードのノード/サービス アーキテクチャが本当に気に入っていますが、コマンドを使用して適切なノードに適切なイメージを与えるにはどうすればよいでしょうか?docker service create ...

私が見たところ、docker service createパラメータとして1つの画像しか取りません! ここで、各ノードにラベルを付けて、この特定のラベルを持つノードのみを使用するようにサービスに依頼できることを確認しましたが、それは私が望んでいるものではありません。最終的には、アーキテクチャごとに分割された 2 つのタスクのクラスターを管理することになり、swarm モードのスケジューラーとディスパッチャーを活用したいという私の欲求を押しつぶすことになります。

私は移植性への彼の探求の悲しいオタクです, それが私です!

PS: docker swarmdocker swarm モードは 2 つの異なるものであるため、これには「docker-swarm」タグではなく「docker-swarm-mode」タグが付いていることに注意してください。

0 投票する
0 に答える
816 参照

docker-swarm-mode - 2 つの docker swarm ノードが同じ名前になるのはなぜですか?

私は Docker swarm モード初心者で、https://docs.docker.com/engine/swarm/swarm-tutorial のチュートリアルを読んでいて、ノードのドレインに関する章を読んだときに気づきました ( https://docs.docker.com /engine/swarm/swarm-tutorial/drain-node/ ) 両方のワーカー ノードに同じ名前が付けられていることを確認しmobyます。

これにより、drain コマンドの発行が失敗します。

ID を使用すると、コマンドが機能します。

Docker swarm: How to manual set node names?を見ました。、しかし、私の環境は異なります。私のマネージャー ノードは hostname の Ubuntu ボックスでbuntyあり、ワーカーは hostname の Windows ボックスと hostnameVADERの MacBook Pronewtです。すべて最新バージョンの Docker 1.12.x を実行しています。

buntyノード名はそれぞれ、VADER、 &であると予想していましたnewtが、代わりにbuntyマネージャーとmoby両方のワーカーを取得します。

何を与える?ノードに手動で名前を付けるオプションがdocker swarm joinコマンドにないようで、各ワーカーには一意のホスト名があります。

0 投票する
1 に答える
672 参照

docker-swarm-mode - フィルタ、戦略、アフィニティなどを備えた docker swarm モードについて

docker swarm モードを使い始めましたが、従来の swarm でカバーされている多くのことについて信頼できる情報を見つけることができませんでした。次のことについて知っている人はいますか??

  1. どのような種類のフィルターが利用できますか? 以前は制約、ヘルス、およびコンテナースロットがありましたが、サービスの作成時にそのフィルターを設定、変更、または使用する方法がわかりません。「--constraint node.labels.FOO==BAR」をdocker service createに渡すことで制約ラベルが機能するようになりましたが、他のフィルターについてはわかりません。

  2. アフィニティ、依存関係、ポートをどのように設定しますか? 「-e」を渡すとうまくいかないようです..

  3. とにかく作戦を立てて…?

  4. swarm に固有のものではありませんが、コンテナーによって予約されている CPU またはメモリの量を確認する方法はありますか? docker info に関連情報が見つかりませんでした。

  5. この質問も群れに固有のものではありません。ディスクとネットワークの帯域幅を制限する方法はありますか?

私はこれを参照しています => https://docs.docker.com/swarm/scheduler/filter/しかし、群れモードのものが見つかりません。スウォームモードのドキュメントの改善に真剣に取り組んでいるはずです...

0 投票する
1 に答える
699 参照

docker - Docker Swarm サービス ネットワーキング

DevOps 大学のプロジェクトでは、docker や Jenkins などを使用して Web ビデオ ストリーミング サービスを構築する任務を負っています。その方法については完全に自由です。Swarm は面白そうだったので、行きます(おそらくいくつかのボーナスポイントを与える複製を行うため)。

私のバックグラウンドはデータ関連なので (Python はとても楽しかったです)、サーバーやネットワークなどは私の得意分野ではありません。また、これはすべて私のマシンでローカルに行われています。

実際の docker サービス (Mongodb サービスと通信するための softinstigate/restheart イメージ) との通信に苦労しています。

2 台の Docker マシンに複製されます。次にローカル ネットワークに接続し、ローカル ネットワークは別の「プロキシ」オーバーレイ ネットワークに接続します。

では、その特定の restheart api サービスに接続して、HTML ページのデータを取得するにはどうすればよいでしょうか? 通常のコンテナのビルドなどは、localhost:chosenport になります。しかし、ドッカーマシンでは別のIPアドレスだと思いますか? ポート番号はどのように定義されていますか?

要するに、たとえばウェブサイトのページから群れ内の特定のサービスに接続するにはどうすればよいのでしょうか?

読み通す記事をいくつか見つけましたが、その時点では頭も尻尾もできませんでした。localhost アドレスをリーダー swarm ノードの IP アドレスに変更しようとしたのかもしれませんが、うまくいかないようでした (しかし、それは少し前のことでした)。

従うべきセットアップのための Docker コマンド - 外出中の私の電話で。

0 投票する
1 に答える
600 参照

docker - compose/swarm モードでの Docker の使用

私は docker にまったく慣れていないので、アプリケーションの配布について助けが必要です。

このことを考慮:

  • 物理マシンのプールがあり、それぞれが最新バージョンの docker を実行しています。

  • 私の「アプリケーション A」にはいくつかのコンテナーがあります。この定義を明確にするために、アプリケーションはコンテナ、4 つのメッセージング コンテナ、およびマスター コンテナで実行されるデータベースになります。6 つのコンテナすべてが相互に通信する必要があります。データベース、メッセージング、およびその他のコンテナーが「サービス」になります。

  • また、「アプリケーション A」とはサイズと構成が少し異なる「アプリケーション B」、「アプリケーション C」、「アプリケーション N...」も作成できます。アプリケーションは相互に通信せず、完全に独立しています。

要件:

  • すべてのアプリケーション「A、B、C..N」は、物理マシンの同じプールを使用する必要があります。
  • 必要に応じて、各アプリケーションの各サービスを異なる物理マシンで実行する必要があります。
  • 各サービスを各物理マシンに割り当てる方法を制限したい場合があります
  • 「その場で」アプリケーションを作成する必要がある

私が最初に考えたのは、docker-compose を使用してアプリケーションを定義し、いくつかの dockerfile を使用してその中のサービスを定義することです。しかし、そうすると、各アプリケーションは同じ Docker エンジンで実行されるため、同じ物理マシンで実行されます。

docker compose を docker swarm にデプロイできることを読みました。この場合、docker swarm は docker エンジンとして機能します。ただし、それを行う方法の例を見つけることができず、制限についてもわかりません。

2 番目に考えたのは、swarm モードを使用することです。スウォームを作成し、その上でサービスを実行します。しかし、私は「アプリケーション」の概念を失います。スウォームには多数のサービスが投入され、それぞれがどのように相互に通信するかを管理できませんでした。

したがって、この問題を考えると:

  • 私が間違った仮定や声明はありますか?
  • シナリオで推奨される docker ツールの使用法は何ですか?
0 投票する
0 に答える
160 参照

nginx - Swarm: ホストのマネージャー + VM のワーカー: ワーカーにコンテナーなし

docker swarm で nginx コンテナーを使用して CDN をデプロイしようとしています。今のところ、ホストにマネージャーがあり、docker-machine を使用して作成された VM に 1 つのワーカーがあります。

ホストでマネージャーを実行します:

次に、worker1 で次を実行します。

ホストで、オーバーレイ ネットワークを作成しました。

そして、10個のレプリカで私のサービスを作成しました:

ただし、次のように示します。

マネージャー (ホスト) には 10 個のレプリカのうち 5 個しかなく、worker1 には

コンテナはありません。

なんで?

私がコマンドを実行docker service ps nginx-cdn すると、次のような行がいくつかあります。

しかし、「nginx-new:latest」という名前のイメージを作成しました。このイメージからコンテナーを作成すると、機能します。