【愚公系列】2022年01月 Docker容器 容器间相互通信
【摘要】 前言前面几篇文章已经说明Docker的容器和镜像相关操作,如果只是Docker的单机应用并不能满足需求,Docker内部间要能互相通信,在符合微服务思想,才能达到Docker真正作用。 一、Docker容器连接相互通信端口映射并不是唯一把 docker 连接到另一个容器的方法。docker 有一个连接系统允许将多个容器连接在一起,共享连接信息。docker 连接会创建一个父子关系,其中父容...
前言
前面几篇文章已经说明Docker的容器和镜像相关操作,如果只是Docker的单机应用并不能满足需求,Docker内部间要能互相通信,在符合微服务思想,才能达到Docker真正作用。
一、Docker容器连接相互通信
端口映射并不是唯一把 docker 连接到另一个容器的方法。
docker 有一个连接系统允许将多个容器连接在一起,共享连接信息。
docker 连接会创建一个父子关系,其中父容器可以看到子容器的信息。
1.容器命名
当我们创建一个容器的时候,docker 会自动对它进行命名。另外,我们也可以使用 --name 标识来命名容器,例如:
runoob@runoob:~$ docker run -d -P --name runoob training/webapp python app.py
可以看到尾部参数NAMES就是容器的名称
2.新建网络
下面先创建一个新的 Docker 网络。
$ docker network create -d bridge test-net
$ docker network ls
参数说明:
-d:参数指定 Docker 网络类型,有 bridge、overlay。
其中 overlay 网络类型用于 Swarm mode
3.连接容器
运行一个容器并连接到新建的 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
4.测试连通性
下面通过 ping 来证明 test1 容器和 test2 容器建立了互联关系。
如果 test1、test2 容器内中无 ping 命令,则在容器内执行以下命令安装 ping
apt-get update
apt install iputils-ping
进入test1:
docker exec -it tsets1 /bin/bash
在 test1 容器输入以下命令:
点击图片查看大图:
出现红框代表连接成功
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)