このドキュメントで説明されているソフトウェアはサポートされていないか、拡張サポートが提供されています。
現在サポートされているリリースにアップグレードすることをお薦めします。

6.2.1 サービスの作成とコンテナのデプロイ

コンテナは単一のホスト上でコンテナを実行するのと同じ方法で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