• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Docker容器互相连接三种实现方法详解

    docker容器间的互连通信有三种方法:

    1.docker内部网络

    涉及docker自己的网络栈。

    安装docker后,系统会创建一个新的网络接口,名字是docker0,用于连接容器和宿主机,IP范围是172.16-172.30,

    每个docker容器都会在这个接口上分配一个IP地址。

    docker每创建一个容器就会创建一组互联的网络接口,一端是容器里的eth0接口,另一端则在宿主机以veth开头命名,

    通过把每个veth接口绑定到docker0网桥,docker创建了一个虚拟子网,这个子网由宿主机和所有的docker容器共享,

    实现容器和宿主机的通信连接,注意只有容器运行时veth接口才存在。

    用内部网络实现容连互联的弊端:

    2.docker networking

    容器之间的连接用网络创建。

    允许用户创建自己的网络,容器通过这个网络互相通信;

    可以跨越不同的宿主机来通信,网络配置也更灵活;

    可以在无需更新连接的情况下,停止、启动或者重启容器;

    不必事先创建容器再去连接它,也不必关心容器的运行顺序,可以在网络内部获得容器名解析和发现;

    和docker compose以及swarm进行了集成;

    在docker网络内部启动的容器,会感知到所有在这个网络下运行的容器,

    并通过/etc/hosts文件将这些容器的地址保存到本地DNS中,
    网络内的任何主机都可以使用hostname或hostname.netname的形式来被解析访问,

    如果任何一个容器重启了,其IP地址会自动在/etc/hosts文件中更新,

    测试中发现/etc/hosts文件中好像没有新增其他容器的地址,但也能互相ping通;

    一个容器可以同时加入多个网络,所以可以创建非常复杂的网络模型;

    3.docker链接

    在链接过程中要引用到容器的名字,且只能工作于同一台宿主机中。

    在docker run启动容器时用参数 --link 创建两个容器间的 客户-服务 链接,

    需要两个参数,一个是链接容器的名字,一个是链接的别名,即 --link redis:db,

    被链接的容器是服务,链接让服务容器能够和客户容器通信,

    客户容器可直接访问服务容器的任意公开端口,所以服务容器的端口不需要对本地宿主机公开,相对更加安全;

    可以把多个客户容器链接到同一个服务容器,也可通过指定多次--link来链接到多个服务容器,

    docker在容器的/etc/hosts文件和包含链接信息的环境变量里写入链接信息;

    无论采用哪种方式,都可以创建一个Web应用程序栈,包含以下组件:

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

    上一篇:如何解决Ubuntu18.04循环登录/卡在开机界面/无法进入图形界面的问题
    下一篇:Docker中iptables规则在iptables重启后丢失的完整过程
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Docker容器互相连接三种实现方法详解 Docker,容器,互相,连接,三种,