docker网络-2

时间:2018-12-14 00:44:42   收藏:0   阅读:193
  • 容器跨主机通信
  • 实验搭建

  • 技术分享图片
    “网络1”解决了同一宿主机间不同网络间通信,基于bridge网络容器间没办法在互联网中通信(不同宿主机间通信),只能在同一个宿主机内不同容器间通信。host 网络 直接使用宿主机网络,性能无衰减,通常用于本地调试, 容器性能的衰减主要来自网络。

    docker daemon一旦停止,所有容器将退出;dockerd启动docker0虚拟网桥默认分配172.17.0.1/16网络,可修改配置文件:"bip":"192.168.1.1/24" 修改docker0默认配置/etc/docker/daemon.json。如果不同宿主机间容器能够通信,那么host1 和host2的默认网络启动的容器分配到的IP一致,将导致网络冲突。so...

    [root@docker1 ~]# docker run -it alpine:latest 
    / # ip a
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
    6: eth0@if7: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1472 qdisc noqueue state UP 
        link/ether 02:42:0a:00:0c:02 brd ff:ff:ff:ff:ff:ff
        inet 10.0.12.2/24 brd 10.0.12.255 scope global eth0
           valid_lft forever preferred_lft forever
    / # ping -w2 -c3 10.0.9.2
    PING 10.0.9.2 (10.0.9.2): 56 data bytes
    64 bytes from 10.0.9.2: seq=0 ttl=60 time=9.082 ms
    64 bytes from 10.0.9.2: seq=1 ttl=60 time=1.724 ms

    同在宿主机与容器通信:

    [root@docker0 ~]# ping 10.0.12.2
    PING 10.0.12.2 (10.0.12.2) 56(84) bytes of data.
    64 bytes from 10.0.12.2: icmp_seq=1 ttl=61 time=0.609 ms
    64 bytes from 10.0.12.2: icmp_seq=2 ttl=61 time=2.16 ms
    64 bytes from 10.0.12.2: icmp_seq=3 ttl=61 time=1.53 ms
    64 bytes from 10.0.12.2: icmp_seq=4 ttl=61 time=2.63 ms

    参考文档:
    https://coreos.com/etcd/docs/latest/
    https://coreos.com/flannel/docs/latest/

    原文:http://blog.51cto.com/12580678/2330194

    评论(0
    © 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
    打开技术之扣,分享程序人生!