docker 之间相互通讯

方式一:通过IP直接访问(不推荐)

查询容器对应的IP命令:

docker inspect 容器 | grep  IPAddress

通过docker容器启动的实例分配的ip地址,直接访问,docker重启时IP会发生变化,所以不推荐

方式二:通过端口映射把docker暴露到外部,直接通过外部ip地址访问(不推荐)

这种方式不安全,只有暴露到外部需要访问才用 如: nginx pethome fastdfs ,对于: redis ,mysql elasticsearch 就不应该暴露,这种方式使我们直接暴露IP端口,在项目中直接写死我们本机的ip加上映射端口,这样我们就不用频繁的更换ip,但是ip也是写死的也不推荐

方式三:通过链接的形式(推荐)

启动容器的时候,给要通信的目标容器使用link指定一个“链接名”,在容器中就可以使用“链接名”和目标容器通信。

具体步骤如下:

docker network Commands:

create            Create a network(创建一个网络)

connect         Connect a container to a network(将容器连接至网络)

disconnect     Disconnect a container from a network(将容器从某网络断开)

inspect           Display detailed information on one or more networks(显示一个或多个网络的详细信息) ls List networks(列出所有网络)

rm                  Remove one or more networks(删除一个或多个网络)

3.1:查看当前网络

docker network ls

3.2:创建一个bridge的网络(如不加参数,默认创建的就是bridge类型的网络)

docker network create my_net

 

3.3:将容器加入到新建的网络中

3.3.1:启动容器时指定网络

docker run -d --network my_net

3.3.2:将已启动的应用连接至网络

注意 mysql8 是容器名字

docker network connect my_net mysql8

 3.4:查看该网络的详细信息

docker network inspect my_net

可以看到mysql8已经加入到my_net网络了,如果其他容器需要访问mysql8的话,将容器加入到my_net即可实现容器之间的相互访问

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

慕菲烟云

坚持原创,希望大家多多交流

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值