加入收藏 | 设为首页 | 会员中心 | 我要投稿 汽车网 (https://www.0577qiche.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

Docker 网络 container 模式

发布时间:2023-06-06 14:15:32 所属栏目:教程 来源:
导读:与 host 模式类似,container 模式可以使一个容器共享另一个已存在容器的网络,此时这两个容器共同使用同一网卡、主机名、IP 地址,容器间通讯可直接通过本地回环 lo 接口通讯。

新运行一个 busyBox 的容器 b1,设
与 host 模式类似,container 模式可以使一个容器共享另一个已存在容器的网络,此时这两个容器共同使用同一网卡、主机名、IP 地址,容器间通讯可直接通过本地回环 lo 接口通讯。

新运行一个 busyBox 的容器 b1,设定它共享已存在的容器 b0 的网络:

docker run -d -t --network container:b0 --name b1 busyBox
Tips:端口转发设定以已存在的容器为准,出于安全和权限控制的角度,container 模式下运行的容器设定端口转发不生效。

查看 b0,b1 的网络配置,验证两者的网络配置是否相同:

docker exec b0 ifconfigdocker exec b1 ifconfig

container 网络拓扑

不再使用的容器记得删除掉,释放资源和空间

docker rm -f b0 b1

Nginx 镜像自带的网络命令非常少,查看网络不方便,而 busyBox 的网络命令比较齐全,使用 container 模式,可以快速解决这个问题。

我们新运行一个名为 n0 的 Nginx 容器,再将它的网络共享给 busyBox 容器 n0-net:

docker run -d -t --name n0 Nginx
docker run -d -t --network container:n0 --name n0-net busyBox

使用 n0-net 容器,执行 docker exec n0-net ip a 进行网络状态查看自身网络信息,也就是 Nginx 的网络信息

执行如下命令,通过 localhost 访问 n0 的 web 服务,说明通过 container 模式下,共享的网络中的容器能够使用 lo 访问其他容器的服务。

docker exec n0-net telnet localhost 80# 在交互中输入# GET /#

不再使用的容器记得删除掉,释放资源和空间:

docker rm -f n0 n0-net

(编辑:汽车网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章