Docker跨主机容器通信overlay实现过程详解
作者:水墨如丹青 时间:2023-10-20 09:55:16
同样是两台服务器:
准备工作:
设置容器的主机名
consul:kv类型的存储数据库(key:value)
docker01、02上:
vim /etc/docker/daemon.json
{
"hosts":["tcp://0.0.0.0:2376","unix:///var/run/docker.sock"], 这行改了要修改自己的docker配置文件
"cluster-store": "consul://10.0.0.11:8500",
"cluster-advertise": "10.0.0.11:2376" 另外一台写自己的ip即可
}
vim /etc/docker/daemon.json
vim /usr/lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd --containerd=/run/containerd/containerd.sock 这行改成这样,两台的都要改
systemctl daemon-reload
systemctl restart docker
docker01上:
docker run -d -p 8500:8500 -h consul --name consul progrium/consul -server -bootstrap 这条命令在设置容器的主机名之后做
[root@docker1 centos_zabbix]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
10.0.0.11:5000/kode v2 6914fda5fd44 4 hours ago 502MB
kode v2 6914fda5fd44 4 hours ago 502MB
10.0.0.11:5000/centos6.9_nginx_ssh v3 92b1087df3f5 13 hours ago 431MB
centos6.9_nginx_ssh v3 92b1087df3f5 13 hours ago 431MB
centos6.9_nginx_ssh v2 6307e23ee16d 13 hours ago 431MB
<none> <none> b94c822488f9 13 hours ago 431MB
centos6.9_nginx_ssh v1 f01eeebf918a 13 hours ago 431MB
<none> <none> 54167f1d659b 13 hours ago 431MB
<none> <none> 71474e616504 13 hours ago 430MB
centos6.9_ssh v2 03387f99f022 14 hours ago 307MB
<none> <none> 82d0e9ce844b 14 hours ago 195MB
kode v1 c0f486ac58fe 15 hours ago 536MB
progrium/consul latest 09ea64205e55 4 years ago 69.4MB 这里有了
[root@docker1 centos_zabbix]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1016753ee64d progrium/consul "/bin/start -server …" 4 minutes ago Exited (255) 3 minutes ago 53/tcp, 53/udp, 8300-8302/tcp, 8400/tcp, 8301-8302/udp, 0.0.0.0:8500->8500/tcp consul
最后在页面上访问:
2)创建overlay网络
docker network create -d overlay --subnet 172.16.1.0/24 --gateway 172.16.1.254 ol1 这个网段不能和宿主机上相同,并且随便在一台上执行这个命令即可
查看容器的网络,有没有出现overlay
[root@docker1 shell]# docker network ls
NETWORK ID NAME DRIVER SCOPE
e480a4fe5f4b bridge bridge local
0a3cbfe2473f host host local
4e5ccdc657e1 macvlan_1 macvlan local
aab77f02a0b1 none null local
8ae111afded7 ol1 overlay global
3)启动容器测试
一台上:
docker run -it --network ol1 --name test01 centos6.9_ssh:v2 /bin/bash
另外一台上:
docker run -it --network ol1 --name test02 centos6.9_ssh:v2 /bin/bash
之后可以通过test01和test02之间联通
之后可以通过test01和test02之间联通
真实原理:
每个容器有两块网卡,eth0实现容器间的通讯,eth1实现容器访问外网
来源:https://www.cnblogs.com/nsh123/p/11139127.html
标签:Docker,通信,overlay
0
投稿
猜你喜欢
SEO高手为什么不要Keywords和Description
2008-06-23 07:25:00
DedeCMS循环调用多级栏目及内容列表
2011-08-13 17:12:50
VMware安装openWRT软路由系统的步骤(图文教程)
2022-02-21 20:32:39
做英文站从WordPress开始吧
2008-07-13 14:46:00
VirtualBox下CentOS7网络配置教程(可连外网)
2022-09-16 17:38:42
dedecms完美调用dz(discuz)论坛贴子 解决方法
2009-02-13 18:04:00
浅析Hyper-V安装CentOS 8问题
2021-01-21 11:18:03
七种容易成功的创业方式 网络创业为最
2007-09-22 11:00:00
discuz 2x综合DIY页面制作方法
2011-09-15 20:23:44
B2C模式是中国服装企业转型和升级的拐点
2009-10-30 13:58:00
高流量并非是高效益 关于网站优化的误区
2008-12-18 00:12:00
Linux如何设置服务自启动
2023-10-07 09:18:22
SEO如何做外链-你真的懂得如何有效的做外链么?
2011-09-05 20:46:12
IIS加载ISAPI_Rewrite出错的解决方法
2009-03-03 12:32:00
防范被种ASP木马需要注意这10点
2009-11-24 13:21:00
空白密码引发远程连接Server2008失败
2009-05-27 11:20:00
Linux下iptables 禁止端口和开放端口示例
2023-08-16 10:50:55
淘宝首页改版 背后暗藏玄机
2008-08-18 21:00:00
如何不作弊提高GOOGLE ADSENSE广告单价
2008-10-13 17:52:00
六个WordPress实用的评论回复通知插件下载
2010-03-21 08:40:00