zoukankan      html  css  js  c++  java
  • docker网络管理

    五种网络管理的模式?

    bridge network 模式(网桥):默认的网络模式。类似虚拟机的nat模式

    特点:

    1、宿主机上需要单独的bridge网卡,如默认docker默认创建的docker0。
    2、容器之间、容器与主机之间的网络通信,是借助为每一个容器生成的一对veth pair虚拟网络设备对,进行通信的。一个在容器上,另一个在宿主机上。
    3、每创建一个基于bridge网络的容器,都会自动在宿主机上创建一个veth**虚拟网络设备。
    4、外部无法直接访问容器。需要建立端口映射才能访问。
    5、容器借由veth虚拟设备通过如docker0这种bridge网络设备进行通信。
    6、每一容器具有单独的IP

    端口映射:

    命令格式:
      docker run/create -P …
      或者 docker run/create –p …
    命令参数(OPTIONS):
      -P, --publish-all 将容器内部所有暴露端口进行随机映射
      -p, --publish list 手动指定端口映射
    注意:
      -p [HOST_IP]:[HOST_PORT]:CONTAINER_PORT
      如:-p ::80 将容器的80端口随机(端口)映射到宿主机任意IP
        -p :8000:6379 将容器的6379端口映射到宿主机任意IP的8000端口
        -p 192.168.5.1::3306 将容器的3306端口随机(端口)映射到宿主机的192.168.5.1IP

    host network 模式(主机):容器与宿主机之间的网络无隔离,即容器直接使用宿主机网络

    特点:

    1、容器完全共享宿主机的网络。网络没有隔离。宿主机的网络就是容器的网络。
    2、容器、主机上的应用所使用的端口不能重复。例如:如果宿主机已经占用了8090端口,那么任何一个host模式的容器都不可以使用8090端口了;反之同理。
    3、外部可以直接访问容器,不需要端口映射。
    4、容器的IP就是宿主机的IP

    特殊host 网络模式(Container网络模式):

    1、Container网络模式,其实就是容器共享其他容器的网络。
    2、相当于该容器,,在网络层面上,将其他容器作为“主机”。它们之间的网络没有隔离。
    3、这些容器之间的特性同host模式。
    使用方法:
    Docker run/create --network container:CONTAINER …

    None network 模式:容器禁用所有网络。

    特点:

    1、容器上没有网络,也无任何网络设备。
    2、如果需要使用网络,需要用户自行安装与配置。

    应用场景:

    该模式适合需要高度定制网络的用户使用。

    Overlay network 模式(覆盖网络): 利用VXLAN实现的bridge模式,主要用于跨主机之前容器的通信

    应用场景:

    需要管理成百上千个跨主机的容器集群的网络时。

    Macvlan network 模式:容器具备Mac地址,使其显示为网络上的物理设备

    特点:

    1、macvlan网络模式,最主要的特征就是他们的通信会直接基于mac地址进行转发。
    2、这时宿主机其实充当一个二层交换机。Docker会维护着一个MAC地址表,当宿主机网络收到一个数据包后,直接根据mac地址找到对应的容器,再把数据交给对应的容器。
    3、容器之间可以直接通过IP互通,通过宿主机上内建的虚拟网络设备(创建macvlan网络时自动创建),但与主机无法直接利用IP互通。

    应用场景:

    由于每个外来的数据包的目的mac地址就是容器的mac地址,这时每个容器对于外面网络来说就相当于一个真实的物理网络设备。因此当需要让容器来的网络看起来是一个真实的物理机时,使用macvlan模式

    docker 网络管理命令:

    • 查看已经建立的网络对象:docker network ls 
    • 创建网络对象:docker network create
    • 删除网络对象:docker network rm
    • 查看网络详情:docker network inspect
    • 连接或者断开:docker network connect/disconnect 
  • 相关阅读:
    Android UI(四)云通讯录项目之云端更新进度条实现
    [Java 泥水匠] Java Components 之一:Java String (肯定有你不懂的)
    Android UI(三)SlidingMenu实现滑动菜单(详细 官方)
    Android UI(二)DridView的菜单
    Android UI(一)Layout 背景局部Shape圆角设计
    Singly linked list algorithm implemented by Java
    Servlet JSP 二重修炼:Filter过滤器
    HDU 1006 Digital Roots
    2012-2014 三年浙江 acm 省赛 题目 分类
    HDU 1006 Tick and Tick 时钟指针问题
  • 原文地址:https://www.cnblogs.com/ycg-blog/p/12120960.html
Copyright © 2011-2022 走看看