Webサーバ入りのDockerコンテナを、ワーカノードn0122で稼働させることができました。同様に、ワーカノードのn0123にCentOS 7.2のOSテンプレートイメージからDockerコンテナを起動し、n0122上で稼働するWebサーバ入りのコンテナにアクセスできるかテストしてみます。マネージャノード上で、「docker service」を使って、ワーカノードn0123にCentOS 7.2のコンテナ「test02」を稼働させます。
n0121 # docker service create \ --name test02 \ ←コンテナ名 --constraint 'node.hostname == n0123' \ ←ワーカノード「n0123」でコンテナを起動 --network mynet01 \ ←コンテナはオーバレイネットワーク「mynet01」に所属させる centos:centos7.2.1511 tail -f /dev/null ←CentOS 7.2のイメージを指定し、tailで稼働を持続
CentOS 7.2のOSイメージからコンテナを起動しますが、コンテナの稼働を持続させるため「tail -f /dev/null」を入れています。先ほどと同様に、「docker service ls」と「docker service ps」で状況を確認してみましょう。
n0121 # docker service ls ID NAME REPLICAS IMAGE COMMAND 9tfne7ujen3p test01 1/1 larsks/thttpd cekmq75s52sd test02 1/1 centos:centos7.2.1511 tail -f /dev/null
CentOS 7.2のOSテンプレートから起動したサービスが「test02」として稼働していることが分かります。起動したサービス「test02」がどのノードで稼働しているかを確認します。
n0121 # docker service ps test02 ID NAME IMAGE NODE DESIRED STATE ... 9s9m5j6dkweqrufb12wany6tt test02.1 centos:centos7.2.1511 n0123 Running ...
ワーカノード「n0123」でコンテナが稼働していることが分かります。念のために、ワーカノード「n0123」上でも確認しておきます。
n0123 # docker ps -a CONTAINER ID IMAGE COMMAND ... NAMES 56dfaa68f9b4 centos:centos7.2.1511 "tail -f /dev/null" ... test02.1.9s9m5j6dkweqrufb12wany6t
Copyright © ITmedia, Inc. All Rights Reserved.