2016-09-07 5 views

答えて

0

ノードで実行されたdocker run -p <public-port>:<internal-port> <image>で動作する可能性があります。しかし、あなたが群れを実行したいので、私はsolve the routing mess hereへの良いガイドに従うことが良いと思います。作者の提案に従っている場合は、最初にdocker-machineコマンドでスウォーム(つまり、ドッカーホストクラスタ)を作成する必要があります。

eval $(docker-machine env swarm-1) 
docker swarm init --advertise-addr $(docker-machine ip swarm-1) 

docker-machine create --driver virtualbox swarm-1 
docker-machine create --driver virtualbox swarm-2 

セットアップ群れはdocker swarm initコマンドの出力に見られる

eval $(docker-machine env swarm-2) 
docker swarm join \ 
--token <yourtoken> 192.168.99.106:2377 

と(もしあれば)他のマシンに参加します。

その後、著者は

docker network create --driver overlay webnet 

のようなものとのネットワークを作成し、この例では

docker service create --name webapp --replicas=2 --network webnet --publish 80:8000 <yourdockerimage> 

のようなサービスを定義することにより、ポートを公開することを提案、yourdockerimageは、ポート上で内部サービスを実行しています8000は、ドッカーホストポート80にマップされています。次に、サービスにアクセスできます。 by

curl http://<IP-address of any Docker swarm node>:80 

注意、Docker swarmノードのIPアドレスにアクセスできます。 Docker swarmはこの魔法を実行し、このサービスのコンテナが動作していないノードのIPアドレスを選択した場合でも、このサービスのコンテナに要求をルーティングします。

関連する問題