前言
在Docker engine v1.12, 使用Swarm可以方便的創建overlay模式的網絡,但是它只能被swarm下面的service所使用的,相對於container,這個網絡是完全隔離的。 在v1.13,運行 containers 時,可以加入之前在swarm模式下自定義的overlay網絡啦!
1. Create swarm in one docker host (172.100.1.17)
$ docker swarm init –advertise-address 172.100.1.17
2. Wait for worker node joined
$ docker swarm join-token worker
3. Join swarm from another docker host (172.100.1.12)
$ docker swarm join --token SWMTKN-1-4kaj1vanh45ihjfgud7nfgaj099gtvrgssg4dxp4rikd1kt1p1-6bwep9vx83oppouz0rfz5scf9 172.100.1.17:2377
4. Create network on manager node (172.100.1.17)
$ docker network create -d overlay --attachable qrtOverlayNet
--attachable 是關鍵,它表明這個網絡是可以被container所加入。
5. Create container by using overlay network “qrtOverlayNet”
172.100.1.17
$ docker run -itd --name mybusybox --network qrtOverlayNet busybox
172.100.1.12
$ docker run -itd --name mybusybox12 --network qrtOverlayNet busybox
6. Execute container and ping the containers in differenct docker hosts
Ping 12 “busybox” from 17
Ping 17 “busybox” from 12