• docker 容器之间通讯


      在这里,我将容器之间的通讯分为两部分,① 在同一个宿主机上,容器之间的通讯 ② 在不同宿主机上容器之间的通讯

      在安装docker后,默认会创建三个网络 docker network ls

      

      

    host:容器将不会虚拟出自己的网卡,配置自己的IP等,而是使用宿主机的IP和端口。
    
    Container:创建的容器不会创建自己的网卡,配置自己的IP,而是和一个指定的容器共享IP、端口范围。
    
    None:该模式关闭了容器的网络功能。
    
    Bridge:此模式会为每一个容器分配、设置IP等,并将容器连接到一个docker0虚拟网桥,通过docker0网桥以及Iptables nat表配置与宿主机通信。  也是默认使用的方式

      同个宿主机容器之间的通讯

      先做一个示范

      我们启动两个容器   docker run -it --name centos1 -d centos      docker run -it --name centos2 -d centos

      1. 通过容器IP进行访问  。但是IP不固定,所以这并不是一个很好的方案。

        我们使用inspect 分别查出两个的ip 地址。172.17.0.3       172.17.0.2

        进入到容器内部我们进行ping 下。 发现能够ping 通。

        我们现在使用 centos1 的IP是3,centos2 是2,我们将两个容器都关闭,启动centos1,发现IP变了。

      2.通过宿主机ip+port 进行访问,通讯受到限制。

      3.通过link 进行建立连接(官方不推荐使用,就不详细说明了)  

      4.官方推荐使用 User-defined networks

        用docker network 创建一个新的网络,在docker -run 的时候,指定到新创建的这个网络上

        ①创建一个新的网络  docker network create my-network

        ②docker run -it --network my-network --name centos1 -d centos


      

      

  • 相关阅读:
    PHP面向对象之原型(trait)
    PHP面向对象之命名空间
    Javascript中的Copy()函数
    六、unique_lock取代lock_guard
    五、互斥量
    四、创建和等待多个线程
    三、线程传参
    二、线程的启动与结束 join与detach
    HTTP:常见状态码
    HTTP:简述URL、URN和URI
  • 原文地址:https://www.cnblogs.com/chengyangyang/p/11236019.html
Copyright © 2020-2023  润新知