Docker 跨主机互联(etcd + flannel)

环境
| 主机 | IP |
|---|---|
| docker1 | 192.168.31.178 |
| docker2 | 192.168.31.188 |
| docker3 | 192.168.31.150 |
前提:
- 安装好 docker
- 关闭防火墙和 selinux
- 搭建好 etcd 集群,可参考:https://www.cnblogs.com/klvchen/articles/15172346.html
- 开启内核转发参数:net.ipv4.ip_forward = 1
安装 flannel (3个节点)
yum install flannel -y
配置 Docker (3个节点)
etcdctl mk /atomic.io/network/config '{"Network": "10.10.0.0/16", "SubnetMin": "10.10.10.0", "SubnetMax": "10.10.50.0", "Backend": {"Type": "vxlan"}}'
etcdctl get /atomic.io/network/config
systemctl start flanneld
/usr/libexec/flannel/mk-docker-opts.sh -c
添加 EnvironmentFile,修改 ExecStart (3个节点)
vi /lib/systemd/system/docker.service
EnvironmentFile=/run/docker_opts.env
ExecStart=/usr/bin/dockerd $DOCKER_OPTS -H fd:// --containerd=/run/containerd/containerd.sock

重启 Docker (3个节点)
systemctl daemon-reload
systemctl restart docker
启动容器
# docker1
docker run -it -d --name test1 centos:centos8
# docker2
docker run -it -d --name test2 centos:centos8
# docker3
docker run -it -d --name test3 centos:centos8
测试
docker1

docker2

docker3


浙公网安备 33010602011771号