前言
在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