亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Docker四種網(wǎng)絡(luò)模式演示及連通性測(cè)試

 更新時(shí)間:2022年04月13日 13:54:15   作者:Tiamon_  
這篇文章主要為大家介紹了Docker四種網(wǎng)絡(luò)模式演示及連通性測(cè)試,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪

Docker 的四種網(wǎng)絡(luò)模式

網(wǎng)絡(luò)模式網(wǎng)絡(luò)配置說(shuō)明
host(開放式網(wǎng)絡(luò)模式)–network host容器和宿主機(jī)共享 Network namespace
container(聯(lián)合掛載式網(wǎng)絡(luò)模式)–network container多個(gè)容器共享一個(gè) Network namespace
none(封閉式網(wǎng)絡(luò)模式)–network none將容器放置在它自己的網(wǎng)絡(luò)棧中,但是并不進(jìn)行任何配置,該模式關(guān)閉了容器的網(wǎng)絡(luò)功能
bridge(橋接式網(wǎng)絡(luò)模式)–network bridgeDocker默認(rèn)的網(wǎng)絡(luò)設(shè)置,此模式會(huì)為每一個(gè)容器分配Network Namespace、設(shè)置IP等

docker network 查看 docker 網(wǎng)絡(luò)模式

[root@docker ~]# docker network ls
NETWORK ID          NAME                DRIVER              SCOPE
15791bf83278        bridge              bridge              local
df75b40e39f6        host                host                local
f89ee64125bc        none                null                local

docker run --network 命令可以指定使用的網(wǎng)絡(luò)模式

host 模式

在這里插入圖片描述

如果啟動(dòng)容器的時(shí)候使用host模式,那么這個(gè)容器將不會(huì)獲得一個(gè)獨(dú)立的Network Namespace,而是和宿主機(jī)共用一個(gè)Network Namespace 。容器將不會(huì)虛擬出自己的網(wǎng)卡,配置自己的IP等,而是使用宿主機(jī)的IP和端口 。但是, 容器的其他方面,如文件系統(tǒng)、進(jìn)程列表等還是和宿主機(jī)隔離的 。

使用host模式的容器可以直接使用宿主機(jī)的IP地址與外界通信,容器內(nèi)部的服務(wù)端口也可以使用宿主機(jī)的端口,不需要進(jìn)行NAT,host最大的優(yōu)勢(shì)就是網(wǎng)絡(luò)性能比較好,但是docker host上已經(jīng)使用的端口就不能再用了,網(wǎng)絡(luò)的隔離性不好。

host 模式演示

以 host 網(wǎng)路模式運(yùn)行容器centos

[root@docker ~]# docker run -itd --name centos --network host centos:latest

查看該容器的網(wǎng)絡(luò)模式

[root@docker ~]# docker inspect 40c4e28bd29c | grep -i network
            "NetworkMode": "host",
        "NetworkSettings": {
            "Networks": {
                    "NetworkID": "df75b40e39f671cbc4d287fefce8b7b64819fcad453cfe7f34831f6490480760",

查看容器 IP

[root@docker ~]# docker exec -it $(docker ps -q) hostname -I 
192.168.117.130 172.17.0.1 

container 模式

在這里插入圖片描述

這個(gè)模式指定 新創(chuàng)建的容器和已經(jīng)存在的一個(gè)容器共享一個(gè) Network Namespace ,而不是和宿主機(jī)共享。 新創(chuàng)建的容器不會(huì)創(chuàng)建自己的網(wǎng)卡,配置自己的 IP,而是和一個(gè)指定的容器共享 IP、端口范圍 等。同樣, 兩個(gè)容器除了網(wǎng)絡(luò)方面,其他的如文件系統(tǒng)、進(jìn)程列表等還是隔離的 。兩個(gè)容器的進(jìn)程可以通過(guò) lo 網(wǎng)卡設(shè)備通信。

container 模式演示

使用 bridge 網(wǎng)絡(luò)模式啟動(dòng)一個(gè) centos_1 容器

	[root@docker ~]# docker run -itd --name centos_1 --network bridge centos:latest
	10ec9d1e3a6b7530cff797cdfc2c44702b62f9f29dcee679306a0262d1e41226
#查看該容器的網(wǎng)絡(luò)模式
	[root@docker ~]# docker inspect 10ec9d1e3a6b | grep -i network
            "NetworkMode": "bridge",
        "NetworkSettings": {
            "Networks": {
                    "NetworkID": "ae7c4bfdd3910f8a00cb962afd06cf296d7d04a99611a6ab154d496ca777183b",
#查看容器IP
	[root@docker ~]# docker exec -it 10ec9d1e3a6b hostname -I
	172.17.0.2 

使用 container 網(wǎng)絡(luò)模式啟動(dòng)一個(gè) centos_2 容器

	[root@docker ~]# docker run -itd --name centos_2 --network container:centos_1 centos:latest
	1f7d976b3f80dd064fd87902dacefc72b617acc6f7917a2f0adb434cb5ff0d11
#查看該容器的網(wǎng)絡(luò)模式
	[root@docker ~]# docker inspect 1f7d976b3f80 | grep -i network
            "NetworkMode": "container:centos_1",
        "NetworkSettings": {
            "Networks": {}
#查看容器IP
	[root@docker ~]# docker exec -it 1f7d976b3f80 hostname -I
	172.17.0.2 

測(cè)試 centos_2 與宿主機(jī)的連通性

#通信正常
	[root@docker ~]# docker exec -it 1f7d976b3f80 ping 192.168.117.130
	PING 192.168.117.130 (192.168.117.130) 56(84) bytes of data.
	64 bytes from 192.168.117.130: icmp_seq=1 ttl=64 time=0.135 ms
	64 bytes from 192.168.117.130: icmp_seq=2 ttl=64 time=0.046 ms
	64 bytes from 192.168.117.130: icmp_seq=3 ttl=64 time=0.057 ms

測(cè)試 centos_2 與外網(wǎng)的連通性

#通信正常
	[root@docker ~]# docker exec -it 1f7d976b3f80 ping www.baidu.com
	PING www.a.shifen.com (61.135.185.32) 56(84) bytes of data.
	64 bytes from 61.135.185.32 (61.135.185.32): icmp_seq=1 ttl=127 time=4.45 ms
	64 bytes from 61.135.185.32 (61.135.185.32): icmp_seq=2 ttl=127 time=4.27 ms

none 模式

在這里插入圖片描述

使用none模式,Docker容器擁有自己的Network Namespace,但是, 并不為Docker容器進(jìn)行任何網(wǎng)絡(luò)配置 。也就是說(shuō),這個(gè)Docker容器沒(méi)有網(wǎng)卡、IP、路由等信息,只有l(wèi)o 網(wǎng)絡(luò)接口。需要我們自己為Docker容器添加網(wǎng)卡、配置IP等。

不參與網(wǎng)絡(luò)通信,運(yùn)行于此類容器中的進(jìn)程僅能訪問(wèn)本地回環(huán)接口;僅適用于進(jìn)程無(wú)須網(wǎng)絡(luò)通信的場(chǎng)景中,例如:備份進(jìn)程診斷及各種離線任務(wù)等。

 none 模式演示

使用 none 網(wǎng)絡(luò)模式啟動(dòng)一個(gè) centos_1 容器

[root@docker ~]# docker run -itd --name centos_1 --network none  centos:latest
b70dddea0a3a554c0c658442fcce8950a272148192b9622a1c5e6baa92be705c
#查看該容器的網(wǎng)絡(luò)模式
	[root@docker ~]# docker inspect b70dddea0a3a | grep -i network
	            "NetworkMode": "none",
	        "NetworkSettings": {
	            "Networks": {
	                    "NetworkID": "f89ee64125bc9606a0e30f5d6c52d21bbdd10b14cd32191c783967a41675497c",
#查看容器IP
	[root@docker ~]# docker exec -it b70dddea0a3a hostname -I
	#IP為空

測(cè)試 centos_1 與宿主機(jī)的連通性

#無(wú)法通信
	[root@docker ~]# docker exec -it b70dddea0a3a ping 192.168.117.130
	connect: Network is unreachable

bridge 模式

在這里插入圖片描述

當(dāng)Docker進(jìn)程啟動(dòng)時(shí),會(huì) 在主機(jī)上創(chuàng)建一個(gè)名為docker0的虛擬網(wǎng)橋 ,此主機(jī)上啟動(dòng)的 Docker容器會(huì)連接到這個(gè)虛擬網(wǎng)橋上, 所以有默認(rèn)地址172.17.0.1/16的地址。虛擬網(wǎng)橋的工作方式和物理交換機(jī)類似,這樣主機(jī)上的所有容器就通過(guò)交換機(jī)連在了一個(gè)二層網(wǎng)絡(luò)中。

從 docker0子網(wǎng)中分配一個(gè)IP給容器使用 ,并設(shè)置 docker0的IP地址為容器的默認(rèn)網(wǎng)關(guān) 。在主機(jī)上 創(chuàng)建一對(duì)虛擬網(wǎng)卡 veth pair設(shè)備,Docker將veth pair設(shè)備的 一端放在新創(chuàng)建的容器 中,并命名為eth0(容器的網(wǎng)卡), 另一端放在主機(jī)中 ,以vethxxx這樣類似的名字命名,并將這個(gè)網(wǎng)絡(luò)設(shè)備加入到docker0網(wǎng)橋中??梢酝ㄟ^(guò)brctl show命令查看。

#如果您的主機(jī)沒(méi)有 brctl 命令,請(qǐng)安裝網(wǎng)橋管理工具包
	[root@docker ~]# yum install -y bridge-utils 
#查看網(wǎng)橋
	[root@docker ~]# brctl show
	bridge name	bridge id		STP enabled	interfaces
	docker0		8000.02426f470008	no	

bridge模式是docker的默認(rèn)網(wǎng)絡(luò)模式,不寫–net參數(shù),就是bridge模式。使用docker run -p時(shí),docker實(shí)際是在iptables做了DNAT規(guī)則,實(shí)現(xiàn)端口轉(zhuǎn)發(fā)功能??梢允褂胕ptables -t nat -vnL查看。

 bridge 模式演示

創(chuàng)建一個(gè)網(wǎng)橋 centos-net

	[root@docker ~]# docker network create -d bridge centos-net
	1d8d918c3488b0e5b3f15ecd5c35c1dc36a87c66dc39fa38fbefcdc6ef471218
#查看創(chuàng)建的網(wǎng)橋
	[root@docker ~]# brctl show
	bridge name	bridge id		STP enabled	interfaces
	#新創(chuàng)建的網(wǎng)橋
	br-1d8d918c3488		8000.024297951600	no	
	#系統(tǒng)默認(rèn)的網(wǎng)橋	
	docker0		8000.02426f470008	no	
	[root@docker ~]# ip a
	8: br-1d8d918c3488: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default 
    link/ether 02:42:97:95:16:00 brd ff:ff:ff:ff:ff:ff
    inet 172.18.0.1/16 scope global br-1d8d918c3488
       valid_lft forever preferred_lft forever

使用 bridge 網(wǎng)絡(luò)模式啟動(dòng)一個(gè) centos_1 容器

	[root@docker ~]# docker run -itd --name centos_1 --network centos-net centos:latest
	f5bdd3510cc84a6fdeef10f062589770daa663aa31855131cab3fa0627e98d3d
#查看該容器的網(wǎng)絡(luò)模式
	[root@docker ~]# docker inspect f5bdd3510cc8 | grep -i network
	            "NetworkMode": "centos-net",
	        "NetworkSettings": {
	            "Networks": {
	                    "NetworkID": "1d8d918c3488b0e5b3f15ecd5c35c1dc36a87c66dc39fa38fbefcdc6ef471218",
#查看容器IP
	[root@docker ~]# docker exec -it f5bdd3510cc8 hostname -I
	172.18.0.2 

使用 bridge 網(wǎng)絡(luò)模式啟動(dòng)一個(gè) centos_2 容器

	[root@docker ~]# docker run -itd --name centos_2 --network centos-net centos:latest
#查看該容器的網(wǎng)絡(luò)模式
	[root@docker ~]# docker inspect $(docker ps -n 1 -q ) | grep -i network
            "NetworkMode": "centos-net",
        "NetworkSettings": {
            "Networks": {
                    "NetworkID": "1d8d918c3488b0e5b3f15ecd5c35c1dc36a87c66dc39fa38fbefcdc6ef471218",
#查看容器IP
	[root@docker ~]# docker exec -it $(docker ps -n 1 -q ) hostname -I
	172.18.0.3 

查看網(wǎng)橋連接狀況

[root@docker ~]# brctl show
bridge name	bridge id		STP enabled	interfaces
br-1d8d918c3488		8000.024297951600	no		veth44c8534
							vethef015ff
docker0		8000.02426f470008	no	

測(cè)試容器之間的連通性

[root@docker ~]# docker exec -it f5bdd3510cc8 ping 172.18.0.3 
PING 172.18.0.3 (172.18.0.3) 56(84) bytes of data.
64 bytes from 172.18.0.3: icmp_seq=1 ttl=64 time=0.104 ms
64 bytes from 172.18.0.3: icmp_seq=2 ttl=64 time=0.046 ms
64 bytes from 172.18.0.3: icmp_seq=3 ttl=64 time=0.045 ms

測(cè)試容器與宿主機(jī)間的連通性

#容器 centos_1 與宿主機(jī)間的連通性
	[root@docker ~]# docker exec -it f5bdd3510cc8 ping 192.168.117.130
	PING 192.168.117.130 (192.168.117.130) 56(84) bytes of data.
	64 bytes from 192.168.117.130: icmp_seq=1 ttl=64 time=0.102 ms
	64 bytes from 192.168.117.130: icmp_seq=2 ttl=64 time=0.042 ms
#容器 centos_2 與宿主機(jī)間的連通性
	[root@docker ~]# docker exec -it 78854ab16473  ping 192.168.117.130
	PING 192.168.117.130 (192.168.117.130) 56(84) bytes of data.
	64 bytes from 192.168.117.130: icmp_seq=1 ttl=64 time=0.103 ms
	64 bytes from 192.168.117.130: icmp_seq=2 ttl=64 time=0.043 ms

以上就是Docker四種網(wǎng)絡(luò)模式演示及連通性測(cè)試的詳細(xì)內(nèi)容,更多關(guān)于Docker網(wǎng)絡(luò)模式連通性測(cè)試的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 解決docker數(shù)據(jù)文件過(guò)大導(dǎo)致根磁盤滿的問(wèn)題

    解決docker數(shù)據(jù)文件過(guò)大導(dǎo)致根磁盤滿的問(wèn)題

    本篇文章主要介紹了解決docker數(shù)據(jù)文件過(guò)大導(dǎo)致根磁盤滿的問(wèn)題,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。
    2017-04-04
  • 多云環(huán)境下的Docker部署策略實(shí)現(xiàn)

    多云環(huán)境下的Docker部署策略實(shí)現(xiàn)

    在多云環(huán)境下,Docker容器技術(shù)為應(yīng)用程序的部署提供了高度的靈活性和可擴(kuò)展性,本文就來(lái)介紹一下多云環(huán)境下的Docker部署策略實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-01-01
  • Docker安裝MySQL并使用Navicat連接的操作方法

    Docker安裝MySQL并使用Navicat連接的操作方法

    這篇文章主要介紹了Docker安裝MySQL并使用Navicat連接,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-09-09
  • 通過(guò)容器提交鏡像DockerCommit及推送鏡像DockerPush

    通過(guò)容器提交鏡像DockerCommit及推送鏡像DockerPush

    這篇文章主要介紹了通過(guò)容器提交鏡像DockerCommit及推送鏡像DockerPush,文中通過(guò)詳細(xì)的示例代碼進(jìn)行了詳細(xì)分解,有需要的朋友可以借鑒參考下
    2021-09-09
  • Docker 數(shù)據(jù)持久化的三種方式小結(jié)

    Docker 數(shù)據(jù)持久化的三種方式小結(jié)

    本文主要介紹了Docker 數(shù)據(jù)持久化的三種方式小結(jié),主要包括volume、bind mounts、tmpfs mounts這三種方式,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-01-01
  • centos7 安裝docker步驟詳細(xì)介紹

    centos7 安裝docker步驟詳細(xì)介紹

    這篇文章主要介紹了centos7 安裝docker步驟詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下
    2017-01-01
  • Docker中的COPY指令和ADD指令詳解

    Docker中的COPY指令和ADD指令詳解

    COPY?和?ADD?都是?Dockerfile?中的指令,有著類似的作用。它們?cè)试S我們將文件從特定位置復(fù)制到?Docker?鏡像中,這篇文章主要介紹了Docker中的COPY指令和ADD指令,需要的朋友可以參考下
    2022-06-06
  • docker?清理緩存腳本解析

    docker?清理緩存腳本解析

    這篇文章主要介紹了docker?清理緩存腳本解析,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)價(jià)值,需要的小伙伴可以參考一下
    2022-07-07
  • Docker?安裝Jenkins全過(guò)程及踩坑指南

    Docker?安裝Jenkins全過(guò)程及踩坑指南

    這篇文章主要介紹了Docker?安裝Jenkins?踩坑全指南,本文通過(guò)圖文示例相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-02-02
  • Docker鏡像端口映射的原理及實(shí)現(xiàn)

    Docker鏡像端口映射的原理及實(shí)現(xiàn)

    在使用Docker時(shí),端口映射是一個(gè)重要的概念,本篇博客將向您介紹什么是端口映射,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-08-08

最新評(píng)論