這篇文章將為大家詳細(xì)講解有關(guān)Docker網(wǎng)絡(luò)命令的示例分析,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
10年積累的成都網(wǎng)站建設(shè)、成都做網(wǎng)站經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有大足免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
?docker network create
?docker network connect
?docker network ls
?docker network rm
?docker network disconnect
?docker network inspect
創(chuàng)建網(wǎng)絡(luò)
zane@zane-V:~$ docker network create simple-network
zane@zane-V:~$ docker network inspect simple-network
{
"Name": "simple-network",
"Id": "8bf58f43c56622d1100f7da9ef6506e45a4aa68556b586311f3756130c311d75",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": {},
"Config": [
{
"Subnet": "172.20.0.0/16",
"Gateway": "172.20.0.1/16"
}
]
},
"Internal": false,
"Containers": {},
"Options": {},
"Labels": {}
}?進(jìn)入一個(gè)鍵值存儲(chǔ)。引擎支持Consul,Etcd,ZooKeeper.
?在群集中的每個(gè)主機(jī)上正確配置的deamon引擎
支持overlay網(wǎng)絡(luò)的docker選項(xiàng):
?--cluster-store-opt
使用--subnet選項(xiàng)直接指定子網(wǎng)絡(luò),在bridge網(wǎng)絡(luò)中只可以指定一個(gè)子網(wǎng)絡(luò),而在overlay網(wǎng)絡(luò)中支持多個(gè)子網(wǎng)絡(luò)。
除了--subnet,還可以指定:--gateway,--ip-range,--aux-address選項(xiàng)。
$ docker network create -d overlay \ --subnet=192.168.0.0/16 \ --subnet=192.170.0.0/16 \ --gateway=192.168.0.100 \ --gateway=192.170.0.100 \ --ip-range=192.168.1.0/24 \ --aux-address="my-switch=192.168.1.6" \ --aux-address="my-nas=192.170.1.6" \
如何要?jiǎng)?chuàng)建自己定制的網(wǎng)絡(luò),docker也是支持很多選項(xiàng)的。
可以指定網(wǎng)絡(luò)的端口號(hào):
$ docker run -d -P --name redis --network my-network redis $ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES bafb0c808c53 redis "/entrypoint.sh redis" 4 seconds ago Up 3 seconds 172.23.0.1:32770->6379/tcp redis
連接容器
可以連接已存在的容器到一個(gè)或者多個(gè)網(wǎng)絡(luò)中。一個(gè)容器可以連接到多個(gè)不同網(wǎng)絡(luò)驅(qū)動(dòng)的網(wǎng)絡(luò)中。
當(dāng)連接一旦建立,容器便可以可其他的容器通訊,通過IP 或者 容器名稱。
基本容器網(wǎng)絡(luò)實(shí)例:
1.創(chuàng)建兩個(gè)容器,container1 和 container2
$ docker run -itd --name=container1 busybox $ docker run -itd --name=container2 busybox zane@zane-V:~$ docker network create -d bridge --subnet 172.25.0.0/16 isolated_nw
3.連接container2到這個(gè)網(wǎng)絡(luò),然后驗(yàn)證一下:
zane@zane-V:~$ docker network connect isolated_nw container2
zane@zane-V:~$ docker network inspect isolated_nw
{
"Name": "isolated_nw",
"Id": "a8208641505d2d8fc37bf7cbd1027c01f0def461815786e076ef4ae65b7b2f9b",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": {},
"Config": [
{
"Subnet": "172.25.0.0/16"
}
]
},
"Internal": false,
"Containers": {
"e9bce535ae32945f5e43340facdb6c16c93d92119e85b61c6cb7a5379a0caf63": {
"Name": "container2",
"EndpointID": "ef7244d32484407c3ec4aa30b7bdb0a6cbe3dbbfedc03e5c856ad20a08af172f",
"MacAddress": "02:42:ac:19:00:02",
"IPv4Address": "172.25.0.2/16",
"IPv6Address": ""
}
},
"Options": {},
"Labels": {}
}注意container2,自動(dòng)分配到了IP地址。此時(shí)container1,仍然連接在默認(rèn)的bridge網(wǎng)絡(luò)。
4.啟動(dòng)第三個(gè)container,但是這是使用--ip 選項(xiàng)指定它的IP地址,
zane@zane-V:~$ docker run --network=isolated_nw --ip=172.25.3.3 -itd --name=container3 busybox
5.檢查container3使用的是哪個(gè)網(wǎng)絡(luò):
"Networks": {
"isolated_nw": {
"IPAMConfig": {
"IPv4Address": "172.25.3.3"
},
"Links": null,
"Aliases": [
"adf68dd9e09c"
],
"NetworkID": "a8208641505d2d8fc37bf7cbd1027c01f0def461815786e076ef4ae65b7b2f9b",
"EndpointID": "71d5d272d056b6111a83f0843a10d1944f1648f34d5099258d5865d053a939b0",
"Gateway": "172.25.0.1",
"IPAddress": "172.25.3.3",
"IPPrefixLen": 16,
"IPv6Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"MacAddress": "02:42:ac:19:03:03"
}
}
}6.檢查container2使用的是哪個(gè)網(wǎng)絡(luò):
"Networks": {
"isolated_nw": {
"Aliases": [
"e9bce535ae32"
],
"EndpointID": "ef7244d32484407c3ec4aa30b7bdb0a6cbe3dbbfedc03e5c856ad20a08af172f",
"Gateway": "172.25.0.1",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"IPAMConfig": {},
"IPAddress": "172.25.0.2",
"IPPrefixLen": 16,
"IPv6Gateway": "",
"Links": null,
"MacAddress": "02:42:ac:19:00:02",
"NetworkID": "a8208641505d2d8fc37bf7cbd1027c01f0def461815786e076ef4ae65b7b2f9b"
}
},注意:container2 在兩個(gè)網(wǎng)絡(luò)中間,它加入了默認(rèn)bridge網(wǎng)絡(luò),當(dāng)你在創(chuàng)建它的時(shí)候,然后又連接它到了isolation_nw.
一個(gè)容器可以連接到多個(gè)網(wǎng)絡(luò)中

7.使用docker attach 命令連接一個(gè)正在運(yùn)行的容器,然后查看
zane@zane-V:~$ docker attach container2 / # ifconfig -a eth2 Link encap:Ethernet HWaddr 02:42:AC:19:00:02 inet addr:172.25.0.2 Bcast:0.0.0.0 Mask:255.255.0.0 inet6 addr: fe80::42:acff:fe19:2/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:86 errors:0 dropped:0 overruns:0 frame:0 TX packets:8 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:11780 (11.5 KiB) TX bytes:648 (648.0 B) eth3 Link encap:Ethernet HWaddr 02:42:AC:11:00:03 inet addr:172.17.0.3 Bcast:0.0.0.0 Mask:255.255.0.0 inet6 addr: fe80::42:acff:fe11:3/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:23 errors:0 dropped:0 overruns:0 frame:0 TX packets:8 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:3809 (3.7 KiB) TX bytes:648 (648.0 B) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
8.可以通過容器名稱來相互連接
/ # ping -w 4 container3 PING container3 (172.25.3.3): 56 data bytes 64 bytes from 172.25.3.3: seq=0 ttl=64 time=0.077 ms 64 bytes from 172.25.3.3: seq=1 ttl=64 time=0.049 ms 64 bytes from 172.25.3.3: seq=2 ttl=64 time=0.047 ms 64 bytes from 172.25.3.3: seq=3 ttl=64 time=0.054 ms
雖然container1 和 container2 都在bridge網(wǎng)絡(luò)中,但是他們是不支持 容器名稱通信的。
zane@zane-V:~$ docker attach container2 / # ping container3 PING container3 (172.25.3.3): 56 data bytes 64 bytes from 172.25.3.3: seq=0 ttl=64 time=0.042 ms 64 bytes from 172.25.3.3: seq=1 ttl=64 time=0.050 ms 64 bytes from 172.25.3.3: seq=2 ttl=64 time=0.063 ms --- container3 ping statistics --- 3 packets transmitted, 3 packets received, 0% packet loss round-trip min/avg/max = 0.042/0.051/0.063 ms / # ping -w 4 container1 ping: bad address 'container1' / # ping -w 4 172.17.0.2 PING 172.17.0.2 (172.17.0.2): 56 data bytes 64 bytes from 172.17.0.2: seq=0 ttl=64 time=0.104 ms 64 bytes from 172.17.0.2: seq=1 ttl=64 time=0.052 ms 64 bytes from 172.17.0.2: seq=2 ttl=64 time=0.127 ms 64 bytes from 172.17.0.2: seq=3 ttl=64 time=0.057 ms --- 172.17.0.2 ping statistics --- 4 packets transmitted, 4 packets received, 0% packet loss round-trip min/avg/max = 0.052/0.085/0.127 ms
注意退出attach 時(shí),使用ctr-p + ctr-q.
如果使用ctr-d 則會(huì)stop container.
zane@zane-V:~$ docker attach container3 / # ping -w 4 172.17.0.2 PING 172.17.0.2 (172.17.0.2): 56 data bytes --- 172.17.0.2 ping statistics --- 4 packets transmitted, 0 packets received, 100% packet loss
上面的實(shí)驗(yàn)我們知道,用戶自定義的網(wǎng)絡(luò),是可以相互解析容器名的,也就是可以用容器名來相互同行。
?定義網(wǎng)絡(luò)別名 ?--link=CONTAINER-NAME:ALIAS
1.斷開container2和isolated_nw的連接,然后
zane@zane-V:~$ docker network disconnect isolated_nw container2 zane@zane-V:~$ docker network rm simple-network
?創(chuàng)建網(wǎng)絡(luò) ?docker network create simple-network
?overlay網(wǎng)絡(luò)條件 ?進(jìn)入一個(gè)鍵值存儲(chǔ)
?支持overlay網(wǎng)絡(luò)的docker選項(xiàng) ?--cluser-store
?指定子網(wǎng)絡(luò),網(wǎng)關(guān),地址范圍
?將容器添加到網(wǎng)絡(luò)中 ?docker network connect isolated_nw container2
?連接一個(gè)正在運(yùn)行的容器 ?docker attach
?attach 的退出 ?ctr p + ctr q
?默認(rèn)bridge網(wǎng)絡(luò)不支持,容器名稱通信,其他網(wǎng)絡(luò)支持; ?使用link 來支持默認(rèn)網(wǎng)絡(luò)的容器名稱通信
?斷開連接
?docker network disconnect isolated_nw container2
?刪除網(wǎng)絡(luò)
?docker network rm simple-network
?檢測(cè)網(wǎng)絡(luò)
?docker network inspect isolated_nw
關(guān)于“Docker網(wǎng)絡(luò)命令的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。
文章題目:Docker網(wǎng)絡(luò)命令的示例分析
URL鏈接:http://www.chinadenli.net/article34/gcsjse.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈、云服務(wù)器、全網(wǎng)營(yíng)銷推廣、App設(shè)計(jì)、面包屑導(dǎo)航、品牌網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)