时间:2021-05-19
端口映射并不是唯一把 docker 连接到另一个容器的方法。
docker 有一个连接系统允许将多个容器连接在一起,共享连接信息。
docker 连接会创建一个父子关系,其中父容器可以看到子容器的信息。
容器命名
当我们创建一个容器的时候,docker 会自动对它进行命名。另外,我们也可以使用 --name 标识来命名容器,例如:
runoob@runoob:~$ docker run -d -P --name runoob training/webapp python app.py43780a6eabaaf14e590b6e849235c75f3012995403f97749775e38436db9a441我们可以使用 docker ps 命令来查看容器名称。
runoob@runoob:~$ docker ps -lCONTAINER ID IMAGE COMMAND ... PORTS NAMES43780a6eabaa training/webapp "python app.py" ... 0.0.0.0:32769->5000/tcp runoob新建网络
下面先创建一个新的 Docker 网络。
$ docker network create -d bridge test-net参数说明:
-d:参数指定 Docker 网络类型,有 bridge、overlay。
其中 overlay 网络类型用于 Swarm mode,在本小节中你可以忽略它。
连接容器
运行一个容器并连接到新建的 test-net 网络:
$ docker run -itd --name test1 --network test-net ubuntu /bin/bash打开新的终端,再运行一个容器并加入到 test-net 网络:
$ docker run -itd --name test2 --network test-net ubuntu /bin/bash下面通过 ping 来证明 test1 容器和 test2 容器建立了互联关系。
如果 test1、test2 容器内中无 ping 命令,则在容器内执行以下命令安装 ping(即学即用:可以在一个容器里安装好,提交容器到镜像,在以新的镜像重新运行以上俩个容器)。
apt-get updateapt install iputils-ping在 test1 容器输入以下命令:
点击图片查看大图:
到此这篇关于Docker容器连接相互通信的实现的文章就介绍到这了,更多相关Docker容器连接通信内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
IP是英文InternetProtocol的缩写,是为计算机网页设计相互连接而设计的协议。在因特网中,它是能使连接到网上的所有计算机网络实现相互通信的一套规则,
ip是网络之间互连的协议。 网络之间互连的协议也就是为计算机网络相互连接进行通信而设计的协议。在因特网中,它是能使连接到网上的所有计算机网络实现相互通信的一套
一、MacVlan实现Docker的跨主机网络通信的方案有很多,如之前博文中写到的通过部署Consul服务实现Docker容器跨主机通信Macvlan工作原理:
大量的互联网应用服务包含多个服务组件,这往往需要多个容器之间通过网络通信进行相互配合。Docker目前提供了映射容器端口到宿主主机和容器互联机制来为容器提供网络
使用threading.Event可以实现线程间相互通信,之前的Python:使用threading模块实现多线程编程七[使用Condition实现复杂同步]我