日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Docker 网络基础原理

發布時間:2024/9/3 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Docker 网络基础原理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

網絡基礎

網絡分層模型

公有IP和私有IP

Public IP:互聯網上的唯一標識,可以訪問internet

Private IP:不可在互聯網上使用,僅供機構內部使用

A類10.0.0.0--10.255.255.255(10.0.0.0/8)

B類172.16.0.0--172.31.255.255(172.16.0.0/12)

C類192.168.0.0--192.168.255.255(192.168.0.0/16)

網絡地址轉換NAT

Ping和telnet

Ping(ICMP):驗證IP的可達性

Linux 網絡命名空間

Linux Network Namespace

查看當前網絡命名空間 [root@docker-node1 vagrant]# ip netns list
添加網絡命名空間 [root@docker-node1 vagrant]# ip netns add test1 [root@docker-node1 vagrant]# ip netns add test2 [root@docker-node1 vagrant]# ip netns list test2 test1 [root@docker-node1 vagrant]# sudo ip netns exec test1 ip link 1: lo: <LOOPBACK> mtu 65536 qdisc noop state DOWN mode DEFAULTlink/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 [root@docker-node1 vagrant]# sudo ip netns exec test1 ip link set dev lo up [root@docker-node1 vagrant]# sudo ip netns exec test1 ip link 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULTlink/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00[root@docker-node2 vagrant]# ip netns exec test1 ip link 1: lo: <LOOPBACK> mtu 65536 qdisc noop state DOWN mode DEFAULTlink/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 [root@docker-node2 vagrant]# sudo ip link set veth-test1 netns test1 [root@docker-node2 vagrant]# ip netns exec test1 ip link 1: lo: <LOOPBACK> mtu 65536 qdisc noop state DOWN mode DEFAULTlink/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 6: veth-test1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT qlen 1000link/ether 36:2d:2a:23:8e:af brd ff:ff:ff:ff:ff:ff
添加了一個test2的網絡命名空間 [root@docker-node2 vagrant]# ip netns add test2 綁定到veth-test2的設備 [root@docker-node2 vagrant]# sudo ip link set veth-test2 netns test2 查看命名空間的ip link [root@docker-node2 vagrant]# ip netns exec test2 ip link 1: lo: <LOOPBACK> mtu 65536 qdisc noop state DOWN mode DEFAULTlink/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 5: veth-test2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT qlen 1000link/ether 2e:00:77:8a:33:57 brd ff:ff:ff:ff:ff:ff給網絡命名空間添加ip并綁定 sudo ip netns exec test1 ip addr add 192.168.1.1/24 dev veth-testl sudo ip netns exec test2 ip addr add 192.168.1.2/24 dev veth-test2將兩個網絡命名空間綁定的ip設備啟動 sudo ip netns exec test1 ip link set dev veth-testl up sudo ip netns exec test2 ip link set dev veth-test2 up查看完整的命名空間ip信息 [root@docker-node2 vagrant]# ip netns exec test1 ip a 1: lo: <LOOPBACK> mtu 65536 qdisc noop state DOWNlink/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 6: veth-testl: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000link/ether 36:2d:2a:23:8e:af brd ff:ff:ff:ff:ff:ffinet 192.168.1.1/24 scope global veth-testlvalid_lft forever preferred_lft foreverinet6 fe80::342d:2aff:fe23:8eaf/64 scope linkvalid_lft forever preferred_lft forever [root@docker-node2 vagrant]# ip netns exec test2 ip a 1: lo: <LOOPBACK> mtu 65536 qdisc noop state DOWNlink/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 5: veth-test2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000link/ether 2e:00:77:8a:33:57 brd ff:ff:ff:ff:ff:ffinet 192.168.1.2/24 scope global veth-test2valid_lft forever preferred_lft foreverinet6 fe80::2c00:77ff:fe8a:3357/64 scope linkvalid_lft forever preferred_lft forever測試命名空間的 互通性 ping [root@docker-node2 vagrant]# ip netns exec test2 ping 192.168.1.1 PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data. 64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=0.050 ms 64 bytes from 192.168.1.1: icmp_seq=2 ttl=64 time=0.110 ms 64 bytes from 192.168.1.1: icmp_seq=3 ttl=64 time=0.202 ms 64 bytes from 192.168.1.1: icmp_seq=4 ttl=64 time=0.052 ms 64 bytes from 192.168.1.1: icmp_seq=5 ttl=64 time=0.040 ms

Docker Network

單機網絡Bridge Network Host Network None Network多機網絡:overlay Network

?Bridge 模式

?? 每個容器之間有獨立的命名空間(ip),相互之間可以ping 通,

?? Docker Bridge0 在宿主機上橋接出來的一塊命名空間,通常為 172.17.0.2, 里面容器的ip一般在該網段隨機分布。除非容器暴露了外面的,否則外面宿主機不能訪問

[root@docker-node2 ~]# sudo docker run -d --name test1 busybox /bin/sh -c "while true;do sleep 3600;done" 8f7cbad560db6d4c604395f3ee16c15d6fc4073e3010134e2520aed780b6198d ? [root@docker-node2 ~]# docker exec test1 ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueuelink/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft forever 9: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueuelink/ether 02:42:ac:11:00:02 brd ff:ff:ff:ff:ff:ffinet 172.17.0.2/16 brd 172.17.255.255 scope global eth0valid_lft forever preferred_lft forever ? 查看網橋 brctl show

?

新創建一個容器,新增了一個命名空間

Bridge Network 網橋

查看網橋

新創建一個容器后,會在網橋上有一個新的接口

通信

在docker0網橋上面創建的容器關聯 ? [vagrantedocker-node1~]# sudo docker run -d --name test2 --link test1 busybox /bin/sh -c "while true;do sleep 3600;done"
test2 link test1 容器test2 link 容器test1 2 --> 1 ping 通 1 --> 2 ping 不通創建網橋 [root@docker-node2 ~]# docker network create -d bridge my-bridge d7b1a39ddd6cd0fff8a7f2ff57a3391e9ac68f8bf09b05460f7d1200c712bc78 [root@docker-node2 ~]# brctl show bridge name bridge id STP enabled interfaces br-d7b1a39ddd6c 8000.0242ed73f4fa no docker0 8000.02420e28dc52 no veth8bb0084vethced44cb ? ? [root@docker-node2 ~]# docker network ls NETWORK ID NAME DRIVER SCOPE 0e7556320fdd bridge bridge local 0b32df326904 host host local d7b1a39ddd6c my-bridge bridge local e2db49527111 none null local ?
重新創建test2 ? [root@docker-node2 ~]# sudo docker run -d --name test2 --network my-bridge busybox /bin/sh -c "while true;do sleep 3600;done" 7eb76c6ca9f6123811fc75cae03e571f669b308c2b6bad0cfbdd598508629f0d [root@docker-node2 ~]# brctl show bridge name bridge id STP enabled interfaces br-d7b1a39ddd6c 8000.0242ed73f4fa no vethee72a47 docker0 8000.02420e28dc52 no veth8bb0084vethced44cb

docker network inspect my-bridge

sudo docker run -d --name test3 --network my-bridge busybox /bin/sh -c "while true;do sleep 3600;done"test2 和 test 3 在同一個網橋my-bridge (自己創建的),可以通過名稱ping

在test 2測試ping test3

docker inspect my-bridge

總結

  • docker network connect my-bridge test1
    • tes2和test 1在docker 默認創建的bridge上
    • 但是互相只能通過ip來ping通、不能通過名字
  • 自己創建的bridge 能夠解決互相ip,名字都ping通

容器的端口映射

docker run --name web -d -p 80:80 nginx Container Port Map 端口映射?

host & none 模式

1. none 沒有ip,只有宿主可以訪問

[vagrant@docker-node1~]$ sudo docker run -d --name test1 --network none busybox /bin/sh -c "while true;do sleep 3600;done" da2143722efb01827070a4aa5ce52857f9269f5ed20f65f4cb39977d39141913

誰都不能訪問,只能 sudo docker exec -it test1 /bin/sh

2. host 共享主機的網絡

[vagrant@docker-node1 ~]$ sudo docker run -d --name test1 --network host busybox /bin/sh -c "while true;do sleep 3600;done" 18e175e07b5e15c941f848fa5d4105357d70dd0f03f8bdb55791c0997875074b

容器內部網絡跟宿主機一樣

?

總結

以上是生活随笔為你收集整理的Docker 网络基础原理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产精品成人一区二区三区电影毛片 | 日韩黄色成人 | 久久麻豆精品 | 国产av一区不卡 | 久久久ww | 亚洲香蕉在线视频 | 久久b | 四虎视频国产精品免费入口 | 性猛交富婆╳xxx乱大交天津 | 黄色片免费网站 | 久久艹国产精品 | 高潮白浆女日韩av免费看 | 瑟瑟视频在线 | 韩国伦理电影免费在线 | 毛片无遮挡高清免费观看 | 影音先锋成人资源站 | 九九热视频在线免费观看 | 日本在线看 | 国产精品久久久久久久久久久久久 | av资源网在线 | 黄色一级大片在线免费看国产 | 中文字幕在线第一页 | 黄色网页免费在线观看 | 亚洲激情图片 | 那个网站可以看毛片 | 欧美,日韩,国产在线 | 少妇高潮一区二区三区在线 | 伊人色在线视频 | 修仙淫交(高h)h文 | 韩国av中文字幕 | 一区二区福利 | 无码人妻精品一区二区三区夜夜嗨 | 欧美成人精精品一区二区频 | 国产精品高潮呻吟av | 高清乱码毛片 | 日本色图片| 欧美日韩在线播放 | 中文字幕免费视频观看 | 69av在线播放 | 国产欧美日韩精品一区 | 69日影院 | 精品一区二区欧美 | 久久色网站 | 成人性生交大片免费看r链接 | 欧美天天视频 | 欧美一卡二卡在线 | 日韩精品一区二区电影 | 久久久精品久久久久 | 美女赤身免费网站 | 久久久99精品免费观看 | 欧美成人精品欧美一级私黄 | 欧美黄色短视频 | 国产一区二区在线精品 | 国产精品乱码一区二区三区 | 国产精品久久久久久亚洲 | 中文字幕 欧美日韩 | 91亚洲国产精品 | 日韩福利片 | 欧美片17c07.com | www色| 麻豆av在线播放 | 色射色 | 台湾无码一区二区 | 99艹 | 亚洲av无码一区二区三区性色 | 一级黄色视 | 少妇爽 | 一区二区三区在线 | 国产草草浮力影院 | 肉色超薄丝袜脚交69xx | 国产色影院 | 亚洲欧洲综合在线 | 特大黑人巨交吊性xxxx视频 | 亚洲精品aaa | 秘密的基地 | 国产精品久久久久久免费观看 | 欧美激情精品久久久久 | 日皮视频在线观看 | 亚洲AV成人无码精品久久盆瓶 | 国产精品99久久久久久久女警 | 在线人成| 亚洲熟妇无码久久精品 | 午夜一区二区三区免费观看 | 免费看色 | 爱草在线 | 欧美一区二区在线视频 | 国产色呦呦 | 欧美性xxxxx极品少妇 | 精品人妻一区二区三区四区不卡 | 国产乱人伦app精品久久 | 日韩一区二区三区在线观看 | 国产av日韩一区二区三区精品 | 国产主播福利在线 | 日本欧美国产一区二区三区 | 日韩mv欧美mv国产网站 | 五月婷婷开心网 | 男人免费视频 | 中文字幕第三页 | 成人精品一区二区三区在线 |