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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

容器学习 之 容器的网络类型(十二)

發布時間:2024/2/28 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 容器学习 之 容器的网络类型(十二) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Docker 安裝時會自動在 host 上創建三個網絡,我們可用 docker network ls 命令查看:

root@ubuntu:/myregistry/docker/registry/v2/repositories# docker network ls NETWORK ID NAME DRIVER SCOPE db8c44d1411e bridge bridge local d71b0f0fe06e host host local aa76b578a078 none null local

none 網絡

none 網絡就是什么都沒有的網絡。掛在這個網絡下的容器除了 lo,沒有其他任何網卡。容器創建時,可以通過 --network=none 指定使用 none 網絡。

封閉意味著隔離,一些對安全性要求高并且不需要聯網的應用可以使用 none 網絡。

root@ubuntu:/myregistry/docker/registry/v2/repositories# docker run -it --network=none busybox Unable to find image 'busybox:latest' locally latest: Pulling from library/busybox 90e01955edcd: Pull complete Digest: sha256:2a03a6059f21e150ae84b0973863609494aad70f0a80eaeb64bddd8d92465812 Status: Downloaded newer image for busybox:latest / # ifconfig lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0UP LOOPBACK RUNNING MTU:65536 Metric:1RX packets:0 errors:0 dropped:0 overruns:0 frame:0TX packets:0 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

host 網絡

連接到 host 網絡的容器共享 Docker host 的網絡棧,容器的網絡配置與 host 完全一樣。可以通過 --network=host 指定使用 host 網絡。

直接使用 Docker host 的網絡最大的好處就是性能,如果容器對網絡傳輸效率有較高要求,則可以選擇 host 網絡。當然不便之處就是犧牲一些靈活性,比如要考慮端口沖突問題,Docker host 上已經使用的端口就不能再用了。

root@ubuntu:/myregistry/docker/registry/v2/repositories# docker run -it --network=host busybox / # ifconfig docker0 Link encap:Ethernet HWaddr 02:42:73:72:1C:C8 inet addr:172.17.0.1 Bcast:172.17.255.255 Mask:255.255.0.0inet6 addr: fe80::42:73ff:fe72:1cc8/64 Scope:LinkUP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1RX packets:4728 errors:0 dropped:0 overruns:0 frame:0TX packets:4862 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:0 RX bytes:265017 (258.8 KiB) TX bytes:49718499 (47.4 MiB)ens33 Link encap:Ethernet HWaddr 00:0C:29:39:C0:ED inet addr:192.168.21.132 Bcast:192.168.21.255 Mask:255.255.255.0inet6 addr: fe80::4353:2d1:a:26e2/64 Scope:LinkUP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1RX packets:698332 errors:0 dropped:0 overruns:0 frame:0TX packets:123099 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000 RX bytes:933624546 (890.3 MiB) TX bytes:8561438 (8.1 MiB)lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0inet6 addr: ::1/128 Scope:HostUP LOOPBACK RUNNING MTU:65536 Metric:1RX packets:12380 errors:0 dropped:0 overruns:0 frame:0TX packets:12380 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000 RX bytes:50146407 (47.8 MiB) TX bytes:50146407 (47.8 MiB)veth1848a47 Link encap:Ethernet HWaddr 02:D3:35:AE:4D:3B inet6 addr: fe80::d3:35ff:feae:4d3b/64 Scope:LinkUP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1RX packets:4720 errors:0 dropped:0 overruns:0 frame:0TX packets:4825 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:0 RX bytes:329525 (321.8 KiB) TX bytes:49713860 (47.4 MiB)veth3659f03 Link encap:Ethernet HWaddr CA:48:EA:28:A5:51 inet6 addr: fe80::c848:eaff:fe28:a551/64 Scope:LinkUP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1RX packets:0 errors:0 dropped:0 overruns:0 frame:0TX packets:65 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:0 RX bytes:0 (0.0 B) TX bytes:6568 (6.4 KiB)

bridge 網絡

Docker 安裝時會創建一個 命名為 docker0 的 linux bridge。如果不指定–network,創建的容器默認都會掛到 docker0 上。

root@ubuntu:/myregistry/docker/registry/v2/repositories# brctl show bridge name bridge id STP enabled interfaces docker0 8000.024273721cc8 no

當前 docker0 上沒有任何其他網絡設備,我們創建一個容器看看有什么變化。

root@ubuntu:/myregistry/docker/registry/v2/repositories# docker run -d httpd 3fe281b052133366e2420922ae81cdf47620a2a0665af0a4e800cd4747bd2287 root@ubuntu:/myregistry/docker/registry/v2/repositories# brctl show bridge name bridge id STP enabled interfaces docker0 8000.024273721cc8 no vethf8aed09

一個新的網絡接口 vethf8aed09 被掛到了 docker0 上,vethf8aed09就是新創建容器的虛擬網卡。

容器有一個網卡 eth0@if34。大家可能會問了,為什么不是vethf8aed09 呢?

實際上 eth0@if34 和 vethf8aed09 是一對 veth pair。veth pair 是一種成對出現的特殊網絡設備,可以把它們想象成由一根虛擬網線連接起來的一對網卡,網卡的一頭(eth0@if34)在容器中,另一頭(vethf8aed09)掛在網橋 docker0 上,其效果就是將 eth0@if34 也掛在了 docker0 上。

總結

以上是生活随笔為你收集整理的容器学习 之 容器的网络类型(十二)的全部內容,希望文章能夠幫你解決所遇到的問題。

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