起動したDockerコンテナの状況を確認してみましょう。起動したサービスは、マネージャノードから「docker service」にlsを付与して実行します。
n0121 # docker service ls ID NAME REPLICAS IMAGE COMMAND 9tfne7ujen3p test01 0/1 larsks/thttpd
上記から、Dockerイメージ「larsks/thttpd」からtest01というサービスが生成されたことが分かります。この「test01」というサービスがワーカノードn0122に存在するかも確認します。起動したサービスがいったいどのノードで実行されているかどうかを確認するには、「docker service ps」にサービス名を付与して実行します。
n0121 # docker service ps test01 ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ... bxaueu6be9a3itjkk13ekd2hg test01.1 larsks/thttpd n0122 Running Running 6 minutes ago
サービス「test01」は、Dockerイメージ「larsks/thttpd」を元に、Dockerコンテナが起動していることが分かります。コンテナ名は「NAME」例に表示されており、「test01.1」というコンテナ名が付与されていることを確認できます。また、ワーカノード「n0122」でコンテナが実行されていることも分かります。念のため、従来の「docker ps」コマンドでもコンテナの状態を確認しておきましょう。ワーカノードn0122上で確認してみます。
n0122 # docker ps -a CONTAINER ID IMAGE COMMAND ... NAMES a320c65b648a larsks/thttpd:latest "/thttpd -D -l /dev/s" ... test01.1.bxaueu6be9a3itjkk13ekd2hg
「docker ps -a」でコンテナの状況を確認してみると、先ほどの「docker service ps test01」で得られるNAME列の「test01.1」とID列の「bxaueu6be9a3itjkk13ekd2hg」を「.」でつなげた名前「test01.1.bxaueu6be9a3itjkk13ekd2hg」がコンテナ名として自動的に付与されていることが分かります。
以上で、Swarmクラスタのワーカノード「n0122」でWebサーバ入りのコンテナを起動することができました。
Copyright © ITmedia, Inc. All Rights Reserved.