このドキュメントで説明されているソフトウェアはサポートされていないか、拡張サポートが提供されています。
現在サポートされているリリースにアップグレードすることをお薦めします。
コンテナは単一のホスト上でコンテナを実行するのと同じ方法でswarmにデプロイできます。 サービスが作成され、コンテナのデプロイに使用するイメージが指定されます。 さらに、ポート・マッピングとswarmにデプロイするレプリカ・コンテナの数は、必要に応じて指定できます。 次の例は、swarm内にデプロイされた3つのレプリカ・コンテナからなるサービスを作成する方法を示しています。 サービスには識別が容易な名前が付けられています。 ポート・マッピングが定義されています。 この例では、サービスはnginxdemos/hello
イメージを使用します:
# docker service create --replicas 3 --name hello -p 80:80 nginxdemos/hello
イメージが各ノードで使用可能でない場合、イメージは自動的にDockerハブから取り出されます。 したがって、この例が機能するには、すべてのノードが直接インターネットにアクセスするか、プロキシを使用するように構成する必要があります。 実稼働環境では、イメージは通常ローカル・レジストリでホストされ、各ノードはローカル・レジストリからイメージを取得できます。
いつでもswarmで実行されているサービスを確認することができます:
# docker service ls
このコマンドの一般的な出力は次のとおりです:
ID NAME REPLICAS IMAGE COMMAND 64w8p8smco49 hello 3/3 nginxdemos/hello
出力から、サービスに割り当てられたID、サービスの名前、実行されているレプリカ・コンテナの数、コンテナを生成するために使用されたイメージ、およびコンテナ内で実行するために発行されたコマンドが表示されます開始しました。 サービス内で実行されている各コンテナ・インスタンスのステータスの詳細については、次のようにサービスで実行中のタスクを一覧表示します:
# docker service ps ID|SERVICE
次に例を示します。
# docker service ps hello ID NAME SERVICE IMAGE LAST STATE DESIRED STATE NODE 3lb26aj...vsl540 hello.1 hello nginxdemos/hello Running 13 seconds Running ol2.example.com 00hmy0p...b4kgsp hello.3 hello nginxdemos/hello Running About an hour Running ol4.example.com cfb8ctb...59nvwp hello.4 hello nginxdemos/hello Running About an hour Running ol3.example.com