看我的文章准没错,关于容器之间的通信

4.4容器间的通信
Docker 提供了不同的网络通信模式,运行在宿主机上的容器可以相互通信。
容器之间的相互通信方式主要分为:通过IP地址进行通信、通过Docker DNS Server进行
通信和通过Joined方式进行通信
4.4.1 [实战]通过IP地址进行通信
分别在两个容器终端使用以下命令,这里的bridge2需要创建,不知道怎么创建的小伙伴,去看我上一章节
1 [root@mm ~]# docker run ‐it ‐‐network=bridge2 ‐‐ip=192.168.1.3 bus
ybox
2 [root@mm ~]# docker run ‐it ‐‐network=bridge2 ‐‐ip=192.168.1.4 bus
ybox

然后就能通通信了,记住两个终端是同一台虚拟机,不要弄错

4.4.2 [实战]通过 Docker DNS Server 进行通信

下面对容器间的DNSServer 通信方式进行测试。
(1)利用4.3.1节中创建的自定义网络bridge2 创建两个容器,和上面一样,都是在两个终端创建
1 [root@mm ~]# docker run ‐it ‐‐network=bridge2 ‐‐name box1 busybox
2 [root@mm ~]# docker run ‐it ‐‐network=bridge2 ‐‐name box2 busybox
(2)在其中一个容器内执行“ping”命令,以确认是否能使用容器名称与对方进行通
信,

4.4.3 [实战]通过 Joined方式进行通信
(1)基于httpd的镜像创建一个容器,命名为“box1”,也可以用其他的,我这里是用nginx

2)基于 busybox的镜像创建一个新的容器“box2”,并通讨参数--
network=container:box1 指定与“box1”容器进行通信。在创建之间记得输入docler rm -f $(docker ps -qa) 清楚一下用过的镜像,不然可能会报错
[root@mm ~]# docker run -it --network=container:box1 --name box2 busybox
(3)在box2容器中,通过“wget 127.0.0.1”命令可以直接访问 box1 容器的HTTP服
务如图所示。而在 box1 容器中会打印出一条日志,表示从“127.0.0.1”地址接收到了
一HTTP的 Get请求

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值