Docker - 容器内应用和外部非容器应用互相访问方法

Docker搭建开发环境用的非常多,通常开发机器上既有容器形式的应用,又有本机跑着或者调试的程序,它们之间互相依赖,如何让它们之间通信顺畅,有时候是一个挺困难的事情。容器应用和容器外应用互相访问分为三种情况:

  1. 容器内应用和容器内应用
  2. 容器内应用访问容器外应用
  3. 容器外应用访问容器内应用

而根据两个互相通信的容器或应用在不在一台服务器上,我们又多出一个维度的情况:

  1. 容器或应用在一台服务器
  2. 容器或应用不在一台服务器

要想彻底搞清楚互相访问的问题,就需要先弄清楚docker的网络是怎么一回事。为什么网络重要,这么说吧,docker三巨头:服务(容器)、网络 & 存储,作为三巨头之一的网络,还是要多加重视的。

希望我没有侵权

容器三巨头之一: 网络


常用的docker网络模式有三种:bridge、host 和 overlay,可能会有人说,“谁说的?还有macVlan和none 好吧 ?” ,注意,我说的是常用 ?,三种模式各有适用场景:

  • bridge,应用都是容器形式,且都在一个宿主机上,各个容器需要互相通信的场景;
  • host,容器和本机应用混杂且需要相互访问的情况;
  • overlay,在不同宿主机的容器之间需要互相通信的情景。

Bridge网络

分为“default bridge”和“user-defined bridge”(自定义bridge),docker安装好后会默认创建一个bridge网络(docker0),也就是“default bridge”,未指定网络的容器会默认使用这个网络。一般使用自定义bridge较多,我们定义一个私有网络,可以将我们的应用与其他应用相隔离,这在一个共享的开发服务器上非常有用,此外,自定义网络也有下面两个优点:

  • 只有用户定义的bridge
  • 21
    点赞
  • 58
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值