LoginSignup
3
5

More than 5 years have passed since last update.

docker-compose with Swarm for Docker 1.13

Posted at

概要

今まで、Swarmモードで、docker-composeを使ってserviceを作成するに当たり、docker-compose.yml にoverlayネットワークを定義したりしてもうまく使えなかったりもどかしい状況だった。
Docker 1.13 では "docker stack" コマンドを使用することで、うまくいくようになったようなので、実際に試してみる。

とりあえず nginx のクラスタを組んでみる

Swarmは構成済として、Swarmの構成手順は省略。
docker-machine を managerノード1台、workerノード2台での構成をしている状態。
swarm は構成済 (init & join 済み) です。

$ docker-machine ls
NAME       ACTIVE   DRIVER       STATE     URL                         SWARM   DOCKER    ERRORS
manager1   *        virtualbox   Running   tcp://192.168.99.100:2376           v1.13.0
worker1    -        virtualbox   Running   tcp://192.168.99.101:2376           v1.13.0
worker2    -        virtualbox   Running   tcp://192.168.99.102:2376           v1.13.0

docker-compose.yml に記述している version を 3 に上げる

# docker stack で swarmモードのノードにデプロイするには3への設定が必須
version: '3'
services:
    web:
        image: nginx
        ports:
            - "80:80"

docker stack コマンド で Swarmモードのマネージャーノードでデプロイ

# docker-compose.yml を指定
$ docker stack deploy -c docker-compose.yml

確認

# docker service が作成されている
$ docker service ls
ID            NAME       MODE        REPLICAS  IMAGE
u6vh9qh79vtt  nginx_web  replicated  1/1       nginx:latest

$ docker service ps nginx_web
ID            NAME         IMAGE         NODE      DESIRED STATE  CURRENT STATE          ERROR  PORTS
is40pl78bcwb  nginx_web.1  nginx:latest  manager1  Running        Running 6 minutes ago

# overlayネットワークは宣言していないが自動で構成されている
$ docker network ls
NETWORK ID          NAME                DRIVER              SCOPE
8ef478abc3a1        bridge              bridge              local
9325e0ad61b1        docker_gwbridge     bridge              local
ddc6ad2d8d0d        host                host                local
wy4ff9n6ejds        ingress             overlay             swarm
qvrffxy9c15z        nginx_default       overlay             swarm # ←ここ
7696ae1a989d        none                null                local

もちろんスケールもできるので、お試しを。。。

3
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
5