zoukankan      html  css  js  c++  java
  • Docker进阶之六:网络管理

    一、默认网络
    安装Docker时会自动创建三个网络:docker network ls 列出网络:
    # docker network ls
    NETWORK ID NAME DRIVER SCOPE
    50919b7e3830 bridge bridge local
    bcd26c3f93df host host local
    b457df4969de none null local
    使用docker run创建Docker容器时,可以用 --net 选项指定容器的网络模式,Docker可以有以下4种网络模式:
    host模式:使用 --net=host 指定。
    none模式:使用 --net=none 指定。
    bridge模式:使用 --net=bridge 指定,默认设置。

    二、网络模式
    • bridge
    –net=bridge
    相当于Vmware中的Nat模式,容器使用独立network Namespace,并连接到docker0虚拟网卡(默认模式)。通过docker0网桥以及Iptables nat表配置与宿主机通信;
    bridge模式是Docker默认的网络设置,此模式会为每一个容器分配Network Namespace、设置IP等,并将一个主机上的Docker容器连接到一个虚拟网桥上。下面着重介绍一下此模式。
    • host
    –net=host
    容器不会获得一个独立的network namespace,而是与宿主机共用一个。这就意味着容器不会有自己的网卡信息,而是使用宿主机的。容器除了网络,其他都是隔离的。
    • none
    –net=none
    获取独立的network namespace,但不为容器进行任何网络配置,需要我们手动配置。
    • container
    –net=container:Name/ID
    与指定的容器使用同一个network namespace,具有同样的网络配置信息,两个容器除了网络,其他都还是隔离的。
    • 自定义网络 与默认的bridge原理一样,但自定义网络具备内部DNS发现,可以通过容器名或者主机名容器之间网络通信。

    三、容器网络访问原理
    举个事例了解下bridge模式:
    # docker run --name test1 -d busybox ping baidu.com
    # docker run --name test2 -d busybox ping qq.com
    # docker exec -it test1 ifconfig
    eth0 Link encap:Ethernet HWaddr 02:42:AC:11:00:02
    inet addr:172.17.0.2 Bcast:172.17.255.255 Mask:255.255.0.0
    # docker exec -it test2 ifconfig
    eth0 Link encap:Ethernet HWaddr 02:42:AC:11:00:03
    inet addr:172.17.0.3 Bcast:172.17.255.255 Mask:255.255.0.0
    Bridge模式的拓扑如下:

        # brctl show
        bridge name	bridge id		STP enabled	interfaces
        docker0		8000.0242f10662cc	no		veth4138573
    						                        veth58b3435
    
        如果有问题可以加我微信(baolongsj)共同学习和进步…..
  • 相关阅读:
    九、顺序表和单链表的对比分析
    八、单链表的实现
    七、线性表的链式存储结构
    【小白成长撸】--顺序栈(C语言版)
    【小白成长撸】--反向链表(一)
    【小白成长撸】--链表创建
    股票数据获取(参考用)
    VBA运用3_股票_Module2
    VBA运用3_股票_Module1
    股市交易时间
  • 原文地址:https://www.cnblogs.com/521football/p/10510291.html
Copyright © 2011-2022 走看看