Docker多host网络访问-overlay方式

Docker多host网络访问-overlay方式

1.配置consul数据库

Docerk overlay 网络需要一个 key-value 数据库用于保存网络状态信息,包括 Network、Endpoint、IP 等。Consul、Etcd 和 ZooKeeper 都是 Docker 支持的 key-vlaue 软件。

consul是一种key-value数据库,可以用它存储系统的状态信息等,当然这里我们并不需要写代码,只需要安装consul,之后docker会自动进行状态存储等。最简单的安装consul数据库的方法是直接使用 docker 运行 consul 容器。

docker run -d -p 8500:8500 -h consul --name consul progrium/consul -server -bootstrap

修改host1和host2的docker daemon配置

目的是让consul发现各个docker主机节点

vim /lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock 
--cluster-store=consul://192.168.134.130:8500 
--cluster-advertise 192.168.134.128:2375

修改ExecStart

–cluster-store 指定 consul 的地址。

–cluster-advertise 告知 consul 自己的连接地址。

修改完后加载新的配置文件,重启docker服务

systemctl daemon-reload
systemctl restart docker

启动后可以在浏览器用host ip地址的8500端口查看consul服务

2.创建overlay网络

在host1上创建overlay网络

docker network create -d overlay ov_net1 

只需要在一个节点中进行上述创建过程,其他节点自动会识别到该网络,原因正是在于consul的服务发现功能。

可以使用docker network或docker network inspect ov_net1查看,所有主机都能看到

3.创建容器加入overlay网络

host1:docker run -itd --name bbox1 --net ov_net1 busybox
host2:docker run -itd --name bbox2 --net ov_net1 busybox

测试联通性

ping 10.0.0.2

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值