zoukankan      html  css  js  c++  java
  • 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


      

      

  • 相关阅读:
    波段是金牢记六大诀窍
    zk kafka mariadb scala flink integration
    Oracle 体系结构详解
    图解 Database Buffer Cache 内部原理(二)
    SQL Server 字符集介绍及修改方法演示
    SQL Server 2012 备份与还原详解
    SQL Server 2012 查询数据库中所有表的名称和行数
    SQL Server 2012 查询数据库中表格主键信息
    SQL Server 2012 查询数据库中所有表的索引信息
    图解 Database Buffer Cache 内部原理(一)
  • 原文地址:https://www.cnblogs.com/chengyangyang/p/11236019.html
Copyright © 2011-2022 走看看