<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      docker(二)--容器網絡相關

       

      同一物理機上的兩個容器通信

      可以在主機上建立一個虛擬交換機,在兩個容器各自用純軟件方式建一對虛擬網卡,一個在容器上,一個在交換機上

      不同物理機上面的虛擬機通信

      橋接網絡: 把物理網卡當作交換機來用。安全性低
      nat網絡: 物理機上打開轉發功能,容器c1 snat到物理機1->物理機2 snat容器c2,并且c1看不到c2。效率低
      Overlay Network 疊加網絡:容器c1 通過隧道模式與物理機h1通信,并且c1和物理機2上的c2在同一網段。

       

      容器運行時,默認會為每個容器創建一對網卡,一半在容器中,一半在宿主機上,并且被關聯到了docker0上面,docker0橋即nat橋

       docker ps 看到有3個容器運行

      ip addr   看到有3個veth開頭的虛擬網卡

       brctl show  

      可以查看到容器的網卡被關聯到docker0

       

      同一主機上的容器之間能夠互相訪問

      例如:

       docker inspect web1 可以看到web1容器的ip 為172.27.0.2

       進入busybox這個容器中:

      docker exec -it t2 /bin/sh

      / # ifconfig
      eth0 Link encap:Ethernet HWaddr 02:42:AC:1B:00:03
      inet addr:172.27.0.4 Bcast:172.27.255.255 Mask:255.255.0.0

      / # wget -O - -q http://172.27.0.2    # 在t2容器中可以訪問到web1容器中的nginx服務
      <!DOCTYPE html>
      ...
      <body>
      <h1>Welcome to nginx!</h1>

      <p><em>Thank you for using nginx.</em></p>
      </body>
      </html>

       

      如果外部機器需要訪問該主機上的容器web1,外部->主機->容器。需要通過主機dnat 轉發到容器,才能使容器被外部訪問到。

       

      docker的四種網絡通信模型

       

       docker network inspect bridge  查看bridge的詳細信息

      第一種:封閉式網絡

        docker run --name t1 -it --network none --rm busybox:latest   

      / # ifconfig -a   查看只有一個lo網卡

       

       第二種,bridge橋接式,也就是默認的

       docker run --name t1 -it --network bridge --rm busybox:latest     (這里不指定network也默認是bridge)

       

       bridged containers 啟動時還可以指定主機名和dns等:

      docker run --name t1 -it -h docker1.test.com --dns 114.114.114.114 --dns-search ilinux.io --rm busybox
      / # hostname
      docker1.test.com
      / # cat /etc/resolv.conf 
      search ilinux.io
      nameserver 114.114.114.114
      options rotate timeout:1

      使宿主機外部客戶端能夠訪問容器

      -p <containerPort>   將指定容器端口映射到主機的一個動態端口

      -p <hostPort>:<containerPort>  將容器端口<containerPort>映射至主機指定端口<hostPort>

      -p <ip>::<containerPort>   將指定的容器端口<containerPort>映射至主機指定<ip>的動態端口

      -p <ip>:<hostPort>:<containerPort>   將指定的容器端口<containerPort> 映射到主機指定<ip>的指定端口<hostPort>

      例如:

      docker run --name boxweb --rm -p 80 abao/bbox:v0.2     啟動一個httpd

      docker port boxweb   #動態端口是隨機端口,docker port可以查看具體映射結果

       80/tcp -> 0.0.0.0:32768

      在外部可以通過宿主機ip:32768 訪問到容器

       

      第三種:joined containers  聯盟式容器

      聯盟式容器是指使用某個已存在容器的網絡接口的容器,接口被聯盟內的各容器共享使用。

      聯盟式容器彼此間雖然共享一個網絡名稱空間,但是其它名稱空間:user、mount等還是隔離的

      聯盟式容器彼此間存在端口沖突的可能性,因此,通常只會在多個容器上的程序需要程序loopback接口互相通信、或對已存在的容器的網絡屬性進行監控是才使用此種模式

      例如:

      啟動一個c1容器

      docker run --name c1 -it --rm busybox

      啟動一個c2

      docker run --name c2 --network container:c1 -it --rm busybox

      c1,c2查看ip主機名都是一樣的,但是在創建文件互相看不到,啟動httpd,能查看到監聽的80端口

       

      第四種:Open container 開放式容器

        共享宿主機的網絡名稱空間

      docker run --name c3 --network host -it --rm busybox

      / # echo "hello container" >/tmp/index.html
      / # httpd -h /tmp

      在宿主機外部可以訪問到 httpd服務

      # curl 172.27.0.3
      hello container

       


       

      管理network名稱空間

      ip netns help
      Usage: ip netns list
             ip netns add NAME
             ip netns set NAME NETNSID
             ip [-all] netns delete [NAME]
             ip netns identify [PID]
             ip netns pids NAME
             ip [-all] netns exec [NAME] cmd ...
             ip netns monitor
             ip netns list-id

      創建network名稱空間,除了network名稱空間的其它名稱空間是共享的

      # ip netns add r1
      # ip netns add r2
      # ip netns list
      r2
      r1
      # ip netns exec r1 ifconfig -a      # 查看r1和r2都只有一個lo

       添加虛擬網卡

      ip link add name veth1.1 type veth peer name veth1.2

      ip link show     可以看到網卡對,但是默認沒有被激活,ifconfig看不到

      把veth1.2網卡 移到創建的r1 network 名稱空間:

      ip link set dev veth1.2 netns r1

      再次查看,可以看到veth1.1在主機上,veth1.2 在r1 網絡名稱空間中:

      ip link show

      ip netns exec r1 ifconfig -a

       

       給r1的veth1.2 改名:

      ip netns exec r1 ip link set dev veth1.2 name eth0

      激活宿主機的veth1.1

      ifconfig veth1.1 10.1.0.1/24 up 

      激活r1中的另一半

      ip netns exec r1 ifconfig eth0 10.1.0.2/24 up

      測試ping可以互相通信

      將宿主機的veth1.1移到r2中,r1和r2兩個網絡名稱空間中可以通過虛擬網卡互相進行通信:

      ip link set dev veth1.1 netns r2

      ip netns exec r2 ifconfig veth1.1 10.1.0.3/24 up

      ip netns exec r2 ping 10.1.0.2

       

      ---由于很長時間沒用這臺機器,網絡中間配置混亂,導致主機和docker不通,后重新修改了docker網段,如下-------

      修改docker默認的網段

      第一步 刪除原有配置

      service docker stop
      ip link set dev docker0 down
      brctl delbr docker0
      iptables -t nat -F POSTROUTING

      第二步 創建新的網橋

      brctl addbr docker0
      ip addr add 172.17.0.1/24 dev docker0
      ip link set dev docker0 up

      第三步 配置Docker的文件

      vi /etc/docker/daemon.json
      # cat /etc/docker/daemon.json  #可以自定義docker0橋的網絡屬性信息
      {"registry-mirrors": ["http://224ac393.m.daocloud.io"],
          "bip": "172.17.0.1/24"
      }
      # systemctl  restart  docker

      docker遠程連接

      docker默認是監聽在本地unix socket地址,/var/run/docker.sock,如果使用tcp套接字docker可以使外部能連接

      修改node1的配置

      /etc/docker/daemon.json
      "hosts":["tcp://0.0.0.0:2375","unix:///var/run/docker.sock"]

      在node2上面可以連接node1的docker

      docker -H 172.27.0.3:2375 image ls 

       

       


       

      創建docker橋

       docker network create -d bridge --subnet "172.16.0.0/16" --gateway "172.16.0.1" docker1

      3d11b7921e4810d2b728e1c1cafd3bac9c399ecf4f72ab6d6652b81906dcb69c

       

      docker run --name d1 -it --network docker1 busybox

      / # ifconfig
      eth0 Link encap:Ethernet HWaddr 02:42:AC:10:00:02
      inet addr:172.16.0.2 Bcast:172.16.255.255 Mask:255.255.0.0

       

      posted @ 2020-02-27 10:30  卡布愛學習  閱讀(416)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 亚洲欧美不卡视频在线播放| 肉大捧一进一出免费视频| 国产又黄又湿又刺激网站| 深夜福利视频在线播放| 偷拍美女厕所尿尿嘘嘘小便| 欧美乱码伦视频免费| 卓尼县| 亚洲熟妇在线视频观看| 日本熟妇hdsex视频| 国产情侣激情在线对白| 人妻精品无码一区二区三区 | 国产午夜精品久久久久免费视| 色综合热无码热国产| 成人精品色一区二区三区| 欧美精品v国产精品v日韩精品 | 丰满人妻一区二区三区高清精品| 精品国产迷系列在线观看| 国产中文字幕在线一区| av在线播放国产一区| 午夜av福利一区二区三区| 人人狠狠综合久久亚洲爱咲| 少妇又爽又刺激视频| 男人的天堂av社区在线| 男人的天堂va在线无码| 日本欧美大码a在线观看| 精品国产一区AV天美传媒| 午夜福利国产精品视频| 国产精品成人综合色在线| 国产精品久久一区二区三区| 国产精品成熟老女人| 在线A级毛片无码免费真人| 极品无码国模国产在线观看| 欧美福利电影A在线播放| 日韩有码中文在线观看| 亚洲av精彩一区二区| 欧美极品色午夜在线视频| 无码人妻aⅴ一区二区三区蜜桃| 午夜在线欧美蜜桃| 亚洲春色在线视频| 亚洲人成网站77777在线观看| 五寨县|