LoginSignup
3
4

More than 5 years have passed since last update.

VMware Photon Controllerでdocker 1.9/swarm 1.0クラスターを作成する

Posted at

vExperts Advent Calendar 2015の13日目の記事です。

やったこと

DevBoxのPhoton Controller環境として構築できるswarmクラスターは、docker 1.8.1/swarm 0.4.0と少し古い。DevBoxのDeployerコンテナとswarm用ベースイメージを修正して、最新のdocker 1.9.1/swarm 1.0.0で、マルチホストネットワーキングに対応するswarmクラスターを構成できるようにしてみた。

「VMware Photon Controllerの使い方」はここ

クラスター作成時のdeployerの役割

「photon cluster create」で実行されるクラスターの作成はPhoton Controllerのdeployerが担当している。deployerはクラスタの作成要求に応じて、必要な仮想マシン(etcd,master,slave)を生成し、それぞれの役割に最適化する。

cloud-initによるカスタマイズ

deployerはimagesとして登録したベースイメージを利用して仮想マシンをリンククローンとして作成し、起動時にcloud-initを利用して仮想マシンのカスタマイズを実行している。cloud-initが参照するmeta-data、user-dataはISOイメージにより仮想マシンに対して提供されるため、クラスターを構成する仮想マシンにはISOイメージが接続されている。

/vmfs/volumes/datastore1/vms/64/64f2b514-242f-4414-8ee0-726b74d67420/64f2b514-242f-4414-8ee0-726b74d67420.vmx
ide0:0.deviceType = "cdrom-image"
ide0:0.fileName = "esx-create-vm-iso-config-file-64f2b514-242f-4414-8ee0-726b74d67420.iso"
ide0:0.present = "TRUE"

user-data テンプレートファイル

cloud-initで利用されるuser-detaは、deployerが以下のテンプレートを利用して各仮想マシン向けに動的に生成する。
作成された仮想マシンが参照したuser-dataは/var/lib/cloud/instance/user-data.txtに保存されている。

swarmベースイメージ

配布されているswarm用ベースイメージはdocker 1.8.1がインストールしてあり、swarm 0.4.0のdockerイメージが格納されている。

root@master-c7b0d516-06f1-4b97-8eed-e4bc30543dad [ ~ ]# export DOCKER_HOST="tcp://192.168.209.135:2375"

root@master-c7b0d516-06f1-4b97-8eed-e4bc30543dad [ ~ ]# docker version
Client:
Version: 1.8.1
API version: 1.20
Go version: go1.4.2
Git commit: d12ea79
Built: Thu Aug 13 02:49:29 UTC 2015
OS/Arch: linux/amd64

Server:
Version: 1.8.1
API version: 1.20
Go version: go1.4.2
Git commit: d12ea79
Built: Thu Aug 13 02:49:29 UTC 2015
OS/Arch: linux/amd64

root@master-c7b0d516-06f1-4b97-8eed-e4bc30543dad [ ~ ]# docker images
REPOSITORY            TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
swarm                 0.4.0               207e8b983242        3 months ago        10.2 MB
quay.io/coreos/etcd   v2.0.8              3b3ecf8306ba        8 months ago        12.79 MB

docker 1.9.1/swarm 1.0.0への対応方法

2つの対応が必要。

  1. ベースイメージを更新してクラスターを構成するVMのdockerのバージョンを1.9.1に変更する。
  2. deployerが持つuser-data.templateファイルを修正し、swarm 1.0.0とマルチホストネットワーキングに対応するためにdockerの起動オプションを追加する。

ベースイメージの更新

ベースイメージのdockerバイナリの変更

swarm用ベースイメージをダウンロードして、仮想マシンとして起動する。起動した仮想マシンにログイン(ユーザー名 : root/パスワード : vmware)してIPアドレスを設定し、docker-1.9.1をダウンロードしてプリインストールされているdockerと差し替える。

# ip link set en16780032 up
# ip address add 192.168.209.41/24 dev eno16780032
# ip route add default via 192.168.209.2
# curl -o /usr/bin/docker-1.9.1 https://get.docker.com/builds/Linux/x86_64/docker-1.9.1
# chmod 755 /usr/bin/docker-1.9.1
# rm /usr/bin/docker
# ln -s /usr/bin/docker-1.9.1 /usr/bin/docker

# ls -l /usr/bin/docker*
lrwxrwxrwx 1 root root       21 Dec  1 02:37 /usr/bin/docker -> /usr/bin/docker-1.9.1
-rwxr-xr-x 1 root root 19582488 Aug 20 19:00 /usr/bin/docker-1.8.1
-rwxr-xr-x 1 root root 30222575 Dec  1 02:36 /usr/bin/docker-1.9.1

# shutdown -h now

ベースイメージのエクスポート

vSphere Clientで仮想マシンをエクスポートして、vmdkファイルを取り出す。

既存ベースイメージの削除

Photon Controllerにswarm用のベースイメージが登録されている場合は、ベースイメージを一度削除する。

PS C:\> photon image list
Using target 'https://192.168.209.29:443'
PS C:\> photon image list
Using target 'https://192.168.209.29:443'
ID                                    Name                  State  Size(Byte)   Replication_type
6c78c7df-994d-45d7-9a50-d5f5720868eb  photon-swarm-vm.vmdk  READY  85899345968  EAGER

Total: 1

PS C:\> photon image delete 6c78c7df-994d-45d7-9a50-d5f5720868eb
Are you sure [y/n]? y
Using target 'https://192.168.209.29:443'
Deleted image 6c78c7df-994d-45d7-9a50-d5f5720868eb

新規ベースイメージの登録

エクスポートした仮想マシンのvmdkファイルをベースイメージとしてアップロードする。

PS C:\> photon image create C:\Users\Administrator\Desktop\newvm\newvm-disk1.vmdk -n photon-swarm-vm.vmdk -i EAGER
Using target 'https://192.168.209.29:443'
Created image 'photon-swarm-vm.vmdk' ID: 8e463b88-bb21-4f84-a13d-2bf7c3ee97ed

swarm 1.0.0への対応とdocker起動オプションの修正

deployerコンテナ内のuser-data.templateファイルを修正する。ファイルの修正だけなので、修正したファイルを用意して、docker buildを使って既存のdeployerコンテナイメージのテンプレートファイルだけを差し替える。

deployerコンテナイメージの更新

deployerコンテナ内のcloud-initのテンプレートファイルを修正する。

  • swarmImage=swarm:0.4.0swarmImage=swarm:1.0.0に変更し、swarmのバージョンを1.0.0に変更する。
  • マルチホストネットワーキングに対応するためにdockerの起動オプションを変更する。

    cloud-initはswarmクラスターのmaster/slave VMに/tmp/start-swarm-master.sh/tmp/start-swarm-slave.shを作成して実行する。
    このスクリプトは/etc/systemd/system/multi-user.target.wants/docker.servicesを書き換えて、systemdで起動されるdockerの起動オプションを修正している。「ExecStart」行に対する変更内容にマルチホストネットワーキング構成時に必要なetcdの指定(--cluster-store=etcd://xxx.xxx.xxx.xxx:2379)と、swarmクラスター参加時にアドバタイズする自身のIP(--cluster-advertise)を追加する。
    deployerは$ETCD_QUORUMとして、etcdのアドレスを持っているがポート番号が付加されているため、ETCD_IP=`echo $ETCD_QUORUM | sed 's/\:2379//g'としてアドレスだけを取り出している。(sedの正規表現として渡すため「:」にエスケープを付与する必要があり、$ETCD_QUORUMをそのまま利用することができない)

swarm-master-user-data.template

--- swarm-master-user-data.template      2015-12-01 21:53:15.037778099 +0900
+++ swarm-master-user-data.template.new  2015-12-01 18:34:48.000000000 +0900
@@ -32,13 +32,14 @@
   - content: |
         eno_name=$(ip addr | grep eno | sed 's/.*\(eno.*\):.*/\1/' | head -n 1)
         ipAddress=`ifconfig ${eno_name} | sed -n '/dr:/{;s/.*dr://;s/ .*//;p;}'`
-        swarmImage=swarm:0.4.0
+        swarmImage=swarm:1.0.0

         echo "Configuring docker daemon"
         systemctl stop docker
         rm /etc/docker/key.json
         unitFile=`systemctl cat docker | grep "#" | cut -d" " -f2`
-        sed -i "s:^ExecStart.*:ExecStart=/bin/docker -d -H tcp\://0.0.0.0\:2375:g" ${unitFile}
+        ETCD_IP=`echo $ETCD_QUORUM | sed 's/\:2379//g'`
+        sed -i "s:^ExecStart.*:ExecStart=/bin/docker -d -H tcp\://0.0.0.0\:2375 --cluster-store=etcd\://${ETCD_IP}\:2379 --cluster-advertise=$ipAddress\:2375:g" ${unitFile}
         systemctl daemon-reload
         systemctl start docker
         sleep 5

swarm-slave-user-data.template

--- swarm-slave-user-data.template      2015-12-01 21:53:42.333777123 +0900
+++ swarm-slave-user-data.template.new  2015-12-01 18:49:27.526172473 +0900
@@ -32,13 +32,14 @@
   - content: |
         eno_name=$(ip addr | grep eno | sed 's/.*\(eno.*\):.*/\1/' | head -n 1)
         ipAddress=`ifconfig ${eno_name} | sed -n '/dr:/{;s/.*dr://;s/ .*//;p;}'`
-        swarmImage=swarm:0.4.0
+        swarmImage=swarm:1.0.0

         echo "Configuring docker daemon"
         systemctl stop docker
         rm /etc/docker/key.json
         unitFile=`systemctl cat docker | grep "#" | cut -d" " -f2`
-        sed -i "s:^ExecStart.*:ExecStart=/bin/docker -d -H tcp\://0.0.0.0\:2375:g" ${unitFile}
+        ETCD_IP=`echo $ETCD_QUORUM | sed 's/\:2379//g'`
+        sed -i "s:^ExecStart.*:ExecStart=/bin/docker -d -H tcp\://0.0.0.0\:2375 --cluster-store=etcd\://${ETCD_IP}\:2379 --cluster-advertise=$ipAddress\:2375:g" ${unitFile}
         systemctl daemon-reload
         systemctl start docker
         sleep 5

deployer Dockerイメージの作成

devbox内で起動しているコンテナイメージのdevbox/deployerをベースにして、swarm-master-user-data.templateswarm-slave-user-data.templateファイル上書きして、新しいdeployerイメージを作成する。

Dockerfileの作成

deployerイメージを作成するためのDockerfileを作成する。

Dockerfile
FROM devbox/deployer
COPY swarm-master-user-data.template /usr/lib/esxcloud/deployer/scripts/swarm-master-user-data.template.new
COPY swarm-slave-user-data.template /usr/lib/esxcloud/deployer/scripts/swarm-slave-user-data.template.new

docker build

Dockerfileを新しいuser-data.templateと同じフォルダに置いて、docker buildコマンドでdeployerイメージを作成する。

root@devbox-discus [ ~/deployer ]# ls -l
total 12
-rw-r--r-- 1 root root  236 Dec  1 13:10 Dockerfile
-rw-r--r-- 1 root root 2096 Dec  1 09:34 swarm-master-user-data.template.new
-rw-r--r-- 1 root root 1964 Dec  1 09:49 swarm-slave-user-data.template.new

root@devbox-discus [ ~/deployer ]# docker build -t deployer .
Sending build context to Docker daemon  7.68 kB
Step 0 : FROM devbox/deployer
 ---> e92d8e6b330f
Step 1 : COPY swarm-master-user-data.template.new /usr/lib/esxcloud/deployer/scripts/swarm-master-user-data.template
 ---> 941953dc13ab
Removing intermediate container b2f42e29b77d
Step 2 : COPY swarm-slave-user-data.template.new /usr/lib/esxcloud/deployer/scripts/swarm-slave-user-data.template
 ---> cfaf70b953f1
Removing intermediate container ced78dd20121
Successfully built cfaf70b953f1

root@devbox-discus [ ~/deployer ]# docker images
REPOSITORY               TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
deployer                 latest              cfaf70b953f1        43 seconds ago      475.2 MB
devbox/cloud_store       latest              f62bb249a94c        2 weeks ago         440.1 MB
devbox/deployer          latest              e92d8e6b330f        2 weeks ago         475.2 MB
devbox/housekeeper       latest              93fb83074572        2 weeks ago         448.3 MB
devbox/root_scheduler    latest              6f6c7fe46286        2 weeks ago         426.9 MB
devbox/chairman          latest              4910ed61a142        2 weeks ago         447.6 MB
devbox/management_api    latest              35e3d8afe046        2 weeks ago         501.9 MB
devbox/agent             latest              08bf3267b8b1        2 weeks ago         1.919 GB
devbox/compileservices   latest              ac8c364a94d5        4 weeks ago         1.911 GB
devbox/servicebase       latest              4d1ce055e2d7        4 weeks ago         386.3 MB
devbox/haproxy           latest              5ee94d2f1f42        4 weeks ago         318.9 MB
devbox/zookeeper         latest              0b933cc83feb        4 weeks ago         407 MB
centos                   6.7                 3fba1048142f        6 weeks ago         190.6 MB

既存deployerコンテナの停止

新しいdeployerを起動するため、DevBoxで起動しているdevbox/deployerコンテナを停止する。

root@devbox-discus [ ~/deployer ]# docker ps
CONTAINER ID        IMAGE                   COMMAND                  CREATED             STATUS              PORTS               NAMES
0b02ef6ad4d1        devbox/cloud_store      "/bin/bash /etc/esxcl"   2 weeks ago         Up About an hour                        devbox_cloud_store_container
2bf7660ffc5e        devbox/deployer         "/bin/bash /etc/esxcl"   2 weeks ago         Up About an hour                        devbox_deployer_container
6658d8091455        devbox/housekeeper      "/bin/bash /etc/esxcl"   2 weeks ago         Up About an hour                        devbox_housekeeper_container
ebb816a04449        devbox/root_scheduler   "/bin/bash /etc/esxcl"   2 weeks ago         Up About an hour                        devbox_root_scheduler_container
c729a6596f24        devbox/chairman         "/bin/bash /etc/esxcl"   2 weeks ago         Up About an hour                        devbox_chairman_container
88a664a7851e        devbox/management_api   "/bin/bash /etc/esxcl"   2 weeks ago         Up About an hour                        devbox_management_api_container
56f5000b3f7a        devbox/haproxy          "/bin/bash /etc/hapro"   2 weeks ago         Up About an hour                        devbox_haproxy_container
de24c74c9ca6        devbox/zookeeper        "/bin/bash /usr/lib/z"   2 weeks ago         Up About an hour                        devbox_zookeeper_container

root@devbox-discus [ ~/deployer ]# docker stop devbox_deployer_container
devbox_deployer_container

新しいdeployerコンテナの起動

deployerコンテナは以下のオプションで実行する。オプションはdokcer inspect devbox_deployer_containerで確認した。

  • ホストネットワーキングを利用 (--net=host)
  • DevBoxの再起動後も自動的にコンテナが起動するようにする (--restart=always)
  • 必要なボリュームのマウント
    • /var/esxcloud:/var/esxcloud
    • /devbox_data/tmp:/devbox_data/tmp
    • /esxcloud/java/distributions/configurations/configuration-deployer:/etc/esxcloud
    • /vagrant/log/deployer:/vagrant/log
    • /vagrant/log/deployer/script_logs:/vagrant/log/script_logs
    • /tmp/devbox_datastore:/tmp
  • エントリーポイントとして「/etc/esxcloud/run.sh」を実行
root@devbox-discus [ ~/deployer ]# docker run -d -v /var/esxcloud:/var/esxcloud -v /devbox_data/tmp:/devbox_data/tmp -v /esxcloud/java/distributions/configurations/configuration
-deployer:/etc/esxcloud -v /vagrant/log/deployer:/vagrant/log -v /vagrant/log/deployer/script_logs:/vagrant/log/script_logs -v /tmp/devbox_datastore:/tmp --restart=always --name deployer --net=host deployer /etc/esxcloud/run.sh
143e6fb3e323ca9c881c5a45479a471b829b688e79265373f68a7350d8614595

root@devbox-discus [ ~/deployer ]# docker ps
CONTAINER ID        IMAGE                   COMMAND                  CREATED             STATUS              PORTS               NAMES
143e6fb3e323        deployer                "/bin/bash /etc/esxcl"   3 seconds ago       Up 3 seconds                            deployer
0b02ef6ad4d1        devbox/cloud_store      "/bin/bash /etc/esxcl"   2 weeks ago         Up 2 hours                              devbox_cloud_store_container
6658d8091455        devbox/housekeeper      "/bin/bash /etc/esxcl"   2 weeks ago         Up 2 hours                              devbox_housekeeper_container
ebb816a04449        devbox/root_scheduler   "/bin/bash /etc/esxcl"   2 weeks ago         Up 2 hours                              devbox_root_scheduler_container
c729a6596f24        devbox/chairman         "/bin/bash /etc/esxcl"   2 weeks ago         Up 2 hours                              devbox_chairman_container
88a664a7851e        devbox/management_api   "/bin/bash /etc/esxcl"   2 weeks ago         Up 2 hours                              devbox_management_api_container
56f5000b3f7a        devbox/haproxy          "/bin/bash /etc/hapro"   2 weeks ago         Up 2 hours                              devbox_haproxy_container
de24c74c9ca6        devbox/zookeeper        "/bin/bash /usr/lib/z"   2 weeks ago         Up 2 hours                              devbox_zookeeper_container

新しいswarmクラスターの作成

新しいベースイメージとdeployerを使ってswarmクラスターを作成する。

PS C:\> photon cluster  create -n MySwarm1 -k SWARM -s 2 --dns 192.168.209.2 --gateway 192.168.209.2 --netmask 255.255.
55.0 --etcd1 192.168.209.50
Using target 'https://192.168.209.29:443'
etcd server 2 static IP address (leave blank for none):

Creating cluster: MySwarm1 (SWARM)
  Slave count: 2

Are you sure [y/n]? y
Cluster created: ID = 132499cf-c440-43ef-acad-35556ea24a95
Note: the cluster has been created with minimal resources. You can use the cluster now.
A background task is running to gradually expand the cluster to its target capacity.
You can run 'cluster show 132499cf-c440-43ef-acad-35556ea24a95' to see the state of the cluster.

クラスター作成の確認

PS C:\> photon cluster list
Using target 'https://192.168.209.29:443'
ID                                    Name      Type   State  Slave Count
132499cf-c440-43ef-acad-35556ea24a95  MySwarm1  SWARM  READY  2

Total: 1
READY: 1

swarmクラスターのmaster VMのIPアドレスの確認

PS C:\> photon cluster show 132499cf-c440-43ef-acad-35556ea24a95
Using target 'https://192.168.209.29:443'
Cluster ID:     132499cf-c440-43ef-acad-35556ea24a95
  Name:         MySwarm1
  State:        READY
  Type:         SWARM
  Slave count:  2

VM ID                                 VM Name                                      VM IP
6722791e-46e4-455e-a440-d36867315f26  master-90751931-b8ce-4329-9c28-210bcdb1f4d1  192.168.209.139
2fd8e15d-dbb9-4c9b-9767-27f5d42ca3b9  etcd-3f8bd757-bfdc-45a9-8b23-4e2f4e5d44e1    192.168.209.50

Docker/Swarmの動作確認

コンテナ向けオーバーレイネットワークの作成

DOCKER_HOSTとしてmasterのIPアドレスを指定して、オーバーレイネットワークを作成してみる。

PS C:\> $env:DOCKER_HOST="tcp://192.168.209.139:8333"

PS C:\> docker network ls
NETWORK ID          NAME                                                 DRIVER
cabba076a0b6        master-90751931-b8ce-4329-9c28-210bcdb1f4d1/host     host
85d6584a36c7        slave-a73d4f62-787e-4a68-9c1f-67b2d79f3a0f/none      null
458578c641a1        slave-5d5770f5-d5cf-4c7f-a485-660a6ff76159/bridge    bridge
e3fd749cf50a        slave-5d5770f5-d5cf-4c7f-a485-660a6ff76159/none      null
012a4899d4da        slave-5d5770f5-d5cf-4c7f-a485-660a6ff76159/host      host
e35227f783b3        master-90751931-b8ce-4329-9c28-210bcdb1f4d1/none     null
71ed853880d1        slave-a73d4f62-787e-4a68-9c1f-67b2d79f3a0f/host      host
cdc524e05788        slave-a73d4f62-787e-4a68-9c1f-67b2d79f3a0f/bridge    bridge
af76d311d84d        master-90751931-b8ce-4329-9c28-210bcdb1f4d1/bridge   bridge

PS C:\> docker network create mynet
d9e89601445d0cb94dd9c153e5792a48b0b1ae343036fd089542a1fa6a832432

PS C:\> docker network ls
NETWORK ID          NAME                                                 DRIVER
af76d311d84d        master-90751931-b8ce-4329-9c28-210bcdb1f4d1/bridge   bridge
85d6584a36c7        slave-a73d4f62-787e-4a68-9c1f-67b2d79f3a0f/none      null
458578c641a1        slave-5d5770f5-d5cf-4c7f-a485-660a6ff76159/bridge    bridge
012a4899d4da        slave-5d5770f5-d5cf-4c7f-a485-660a6ff76159/host      host
71ed853880d1        slave-a73d4f62-787e-4a68-9c1f-67b2d79f3a0f/host      host
e3fd749cf50a        slave-5d5770f5-d5cf-4c7f-a485-660a6ff76159/none      null
d9e89601445d        mynet                                                overlay
e35227f783b3        master-90751931-b8ce-4329-9c28-210bcdb1f4d1/none     null
cabba076a0b6        master-90751931-b8ce-4329-9c28-210bcdb1f4d1/host     host
cdc524e05788        slave-a73d4f62-787e-4a68-9c1f-67b2d79f3a0f/bridge    bridge

オーバーレイネットワークを利用してコンテナを起動してみる

nginxとubuntuコンテナを作成したmynetに接続して起動する。

PS C:\> docker run -d --name web --net mynet nginx
a2816954e7638f5bf7f6299d30f3214f34e3fd9eccbe3f1975196b666629386f

PS C:\> docker run -itd --name ubuntu --net mynet ubuntu bash
e5da53a681487a167f96d31c58f4695b229aca08d5f38d6328d9b4608f84307c

web(nginx)はslave-a73d4f62-787e-4a68-9c1f-67b2d79f3a0f/web、ubuntuはslave-5d5770f5-d5cf-4c7f-a485-660a6ff76159/ubuntuで起動している。(異なるdockerホストで起動している)

PS C:\> docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                            NAMES
e5da53a68148        ubuntu              "bash"                   46 seconds ago      Up 20 seconds                                        slave-5d5770f5-d5cf-4c7f-a485-660a6ff76159/ubuntu
a2816954e763        nginx               "nginx -g 'daemon off"   2 minutes ago       Up About a minute   80/tcp, 443/tcp                  slave-a73d4f62-787e-4a68-9c1f-67b2d79f3a0f/web
7542cbcd4884        swarm:1.0.0         "/swarm join --addr=1"   30 minutes ago      Up 30 minutes       2375/tcp                         slave-5d5770f5-d5cf-4c7f-a485-660a6ff76159/fervent_blackwell
87ad8a6a45bb        swarm:1.0.0         "/swarm join --addr=1"   31 minutes ago      Up 31 minutes       2375/tcp                         slave-a73d4f62-787e-4a68-9c1f-67b2d79f3a0f/focused_brahmagupta
32c11d4d942e        swarm:1.0.0         "/swarm manage etcd:/"   32 minutes ago      Up 32 minutes       192.168.209.139:8333->2375/tcp   master-90751931-b8ce-4329-9c28-210bcdb1f4d1/romantic_engelbart
2db4e7250801        swarm:1.0.0         "/swarm join --addr=1"   32 minutes ago      Up 32 minutes       2375/tcp                         master-90751931-b8ce-4329-9c28-210bcdb1f4d1/condescending_blackwell

ubuntuコンテナにアタッチして、curlをインストールしてwebコンテナに接続を確認。
コンテナ名を利用して、ホスト間のコンテナ同士がオーバーレイネットワークにより通信できている。

PS C:\> docker attach ubuntu
root@e5da53a68148:/#
root@e5da53a68148:/# apt-get -y install curl
root@e5da53a68148:/# curl web.mynet
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
    body {
        width: 35em;
        margin: 0 auto;
        font-family: Tahoma, Verdana, Arial, sans-serif;
    }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>

<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>

<p><em>Thank you for using nginx.</em></p>
</body>
</html>

ubuntuのhostsファイルには、同じネットワークに接続されているwebコンテナのエントリが追加されている。

root@e5da53a68148:/# cat /etc/hosts
127.0.0.localhost ip6-localhost ip6-loopback
fe00::0 ip6-mcastprefix
ff02::1 ip6-allrouters
10.0.0.2        web.mynet

既存deployerコンテナの削除

既存のdeployerコンテナを削除して、DevBox再起動時にdevbox/deployerが起動しないようにする。

root@devbox-discus [ ~/deployer ]# docker rm -f devbox_deployer_container
devbox_deployer_container

その他

deployer作成のために利用したDockerfileswarm-master-user-data.template.newswarm-slave-user-data.template.newここに置いた。

3
4
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
4