2017-06-19 10 views
2

worker1とworker2の2つのワーカーノードと1つのswarmマネージャがあります。私はワーカーノードでのみすべてのサービスを実行しています。私は、マネージャのドッカーのexecからワーカーノードで作成されたいくつかのコンテナにアクセスする必要がありますが、サービスが認識されていないことが分かります。私はどのワーカーノードでもドッカーexecを実行でき、うまく動作することは分かっていますが、サービスが実行されているノードを特定してから、docker execコマンドを実行するために指定されたノードにsshしてください。群れでそうするかどうかの方法はありますか?swarm managerからexecを実行する

答えて

6

スウォームモードでは、現在実行中のタスクでのexecを実行する方法がありません。コンテナを見つけて、ホスト上でexecを実行する必要があります。ワーカーがTLSで保護されたポートを待機するように構成することができます。これにより、リモートアクセスが可能になります(docker's guide参照)。 docker service ps $service_nameの出力をチェックすることで、サービス内の各タスクのノードをルックアップできます。

+0

27552) と[github.com - docker/swarmkit - タスクへの実行のサポート](https://github.com/docker/swarmkit/issues/1895) – Murmel

1

このことができます場合は、今では、ネットワークに参加する任意の容器を可能にするために--attachableフラグでオーバーレイネットワークを作成することができます。これは、多くの柔軟性を可能にするので、大きな特徴です。

など。 [ - モービー/モービー - ドッカーサービスのexec github.com](https://github.com/moby/moby/issues/:たぶん、あなたはこの機能がすでに二つの問題によって追跡されることをメモを追加したい

$ docker network create --attachable --driver overlay my-network 
$ docker service create --network my-network --name web --publish 80:80 nginx 
$ docker run --network=my-network -ti alpine sh 
$ wget -qO- web 

<!DOCTYPE html> 
<html> 
<head> 
.... 
関連する問題