docker中容器与容器之间通讯

概述

  • Docker 中存在多个容器时,容器与容器之间经常需要进行通讯,例如nacos访问mysql,redis集群中各个节点之间的通讯。
  • 解决方案
  • Docker 中容器与容器之间进行通讯的解决方案一般有两种:
  • 第一种:两个容器通过宿主机进行通讯(容器中的端口会映射到宿主机上)
  • 第二种:两个容器之间直接通过虚拟网络进行连接,但是需要我们在docker中创建网络。
  • 初始化网路
  • 架构设计
  • 新建网络
  • 例如:创建名字为t-net的网络
  • docker network create -d bridge t-net  #t-net为自己起的网络名称
  • 其中,-d driver,网络类型,默认 bridge。
  • 说明,创建好这个网络以后,在网落上添加容器,容器就可以通讯了
  • 查看网络信息
  • 列出所属有网络
  • docker network ls
  • 查看网络信息
  • docker inspect 67d #67d 为创建的网络id
  • 实现容器互联
  • 创建容器
  • 打开终端,基于centos:7这个镜像启动容器,并加入到t-net这个网络
  • docker run -it --name app1 --network t-net centos:7
  • 新开终端执行,基于centos:7这个镜像再启动容器,同时也加入到t-net网络
  • docker run -it --name app2 --network t-net centos:7
  • 测试网络互通
  • 在两个终端中分别执行:
  • ping app1
  • ping app2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值