本文详细介绍了Docker跨服务器容器通信覆盖的全过程。原文根据示例代码非常详细,对大家的学习培训或者工作都有一定的参考价值,朋友们一定要参考。
是相同的两台网络服务器:
准备工作:
设置容器的主机名。
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这行改为那样,两部的必须改 systemctldaemon-reload systemctlrestartdocker在01号文件上:
dockerrun-d-p8500:8500-hconsul--nameconsulprogrium/consul-server-bootstrap这条指令在设定容器的主机名以后做 [root@docker1centos_zabbix]#dockerimages REPOSITORYTAGIMAGEIDCREATEDSIZE 10.0.0.11:5000/kodev26914fda5fd444hoursago502MB kodev26914fda5fd444hoursago502MB 10.0.0.11:5000/centos6.9_nginx_sshv392b1087df3f513hoursago431MB centos6.9_nginx_sshv392b1087df3f513hoursago431MB centos6.9_nginx_sshv26307e23ee16d13hoursago431MB <none><none>b94c822488f913hoursago431MB centos6.9_nginx_sshv1f01eeebf918a13hoursago431MB <none><none>54167f1d659b13hoursago431MB <none><none>71474e61650413hoursago430MB centos6.9_sshv203387f99f02214hoursago307MB <none><none>82d0e9ce844b14hoursago195MB kodev1c0f486ac58fe15hoursago536MB progrium/consullatest09ea64205e554yearsago69.4MB这儿拥有 [root@docker1centos_zabbix]#dockerps-a CONTAINERIDIMAGECOMMANDCREATEDSTATUSPORTSNAMES 1016753ee64dprogrium/consul"/bin/start-server…"4minutesagoExited(255)3minutesago53/tcp,53/udp,8300-8302/tcp,8400/tcp,8301-8302/udp,0.0.0.0:8500->8500/tcpconsul浏览最终网页:
2)建立覆盖互联网
dockerNetworkCreate-dOverlay-subnet172.16.1.0/24-gateway172.16.1.254OL1这个子网不能和主机相同,你可以随便在一个平台上执行这个指令
查询集装箱的互联网,如果有木材,就会出现叠加。
[root@docker1shell]#dockernetworkls NETWORKIDNAMEDRIVERSCOPE e480a4fe5f4bbridgebridgelocal 0a3cbfe2473fhosthostlocal 4e5ccdc657e1macvlan_1macvlanlocal aab77f02a0b1nonenulllocal 8ae111afded7ol1overlayglobal3)开始集装箱检查。
一台子上: dockerrun-it--networkol1--nametest01centos6.9_ssh:v2/bin/bash 此外一台子上: dockerrun-it--networkol1--nametest02centos6.9_ssh:v2/bin/bash 以后能够根据test01和test02中间中国联通未来根据test01和test02,联通会在中间。
真正的基本原则:
每个容器有两个网络端口,eth0完成容器之间的通信,eth1完成容器对外部网络的访问。
文章里的内容就这些了。期待对大家的学习和培训有所帮助,也期待大家的应用。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)