Docker自定義網(wǎng)絡(luò)詳解
了解 docker network
通過下面的命令來獲取幫助
docker network --help
Commands: connect Connect a container to a network create Create a network disconnect Disconnect a container from a network inspect Display detailed information on one or more networks ls List networks prune Remove all unused networks rm Remove one or more networks
docker network create --help
Options: --attachable Enable manual container attachment --aux-address map Auxiliary IPv4 or IPv6 addresses used by Network driver (default map[]) --config-from string The network from which to copy the configuration --config-only Create a configuration only network -d, --driver string Driver to manage the Network (default "bridge") --gateway strings IPv4 or IPv6 Gateway for the master subnet # 網(wǎng)關(guān) --ingress Create swarm routing-mesh network --internal Restrict external access to the network --ip-range strings Allocate container ip from a sub-range --ipam-driver string IP Address Management Driver (default "default") --ipam-opt map Set IPAM driver specific options (default map[]) --ipv6 Enable IPv6 networking --label list Set metadata on a network -o, --opt map Set driver specific options (default map[]) --scope string Control the network's scope --subnet strings Subnet in CIDR format that represents a network segment #子網(wǎng)
創(chuàng)建網(wǎng)絡(luò)
- --driver bridge 網(wǎng)絡(luò)類型,默認(rèn)bridge網(wǎng)橋
- --subnet 192.168.0.0/16 子網(wǎng)
- --gateway 192.168.0.1 網(wǎng)關(guān)
創(chuàng)建 mynet
網(wǎng)絡(luò)
docker network create --driver bridge --subnet 192.168.0.0/16 --gateway 192.168.0.1 mynet 0096a971fd2c66400e53cbae5e53eceedc2f90d5685917e9534640a3535c0ef1
查看網(wǎng)卡
[root@--- ~]# ip addr 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 00:16:3e:0a:00:34 brd ff:ff:ff:ff:ff:ff inet 172.31.81.32/20 brd 172.31.95.255 scope global dynamic eth0 valid_lft 291870572sec preferred_lft 291870572sec 3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default link/ether 02:42:a4:2f:c5:62 brd ff:ff:ff:ff:ff:ff inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0 valid_lft forever preferred_lft forever 140: br-799426d70aa2: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default link/ether 02:42:7f:01:1d:00 brd ff:ff:ff:ff:ff:ff inet 172.18.0.1/16 brd 172.18.255.255 scope global br-799426d70aa2 # test-network valid_lft forever preferred_lft forever 176: br-0096a971fd2c: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default link/ether 02:42:d9:14:c1:d3 brd ff:ff:ff:ff:ff:ff inet 192.168.0.1/16 brd 192.168.255.255 scope global br-0096a971fd2c # mynet valid_lft forever preferred_lft forever
查看網(wǎng)絡(luò)
[root@--- ~]# docker network ls NETWORK ID NAME DRIVER SCOPE feafa30d4051 bridge bridge local e8bf4fced9e2 host host local 0096a971fd2c mynet bridge local # 自定義bridge網(wǎng)橋 6263db0933b9 none null local 799426d70aa2 test-network bridge local
查看 mynet
網(wǎng)絡(luò)詳細(xì)信息
[root@--- ~]# docker network inspect 0096a971fd2c [ { "Name": "mynet", "Id": "0096a971fd2c66400e53cbae5e53eceedc2f90d5685917e9534640a3535c0ef1", "Created": "2021-10-04T10:18:09.113847736+08:00", "Scope": "local", "Driver": "bridge", # mynet 網(wǎng)絡(luò)類型 "EnableIPv6": false, "IPAM": { "Driver": "default", "Options": {}, "Config": [ { "Subnet": "192.168.0.0/16", # mynet 子網(wǎng) "Gateway": "192.168.0.1" # mynet 網(wǎng)關(guān) } ] }, "Internal": false, "Attachable": false, "Ingress": false, "ConfigFrom": { "Network": "" }, "ConfigOnly": false, "Containers": {}, "Options": {}, "Labels": {} } ]
啟動(dòng)容器,并加入mynet網(wǎng)絡(luò)
啟動(dòng) mynet-centos01
, mynet-tomcat01
并加入mynet網(wǎng)絡(luò)
[root@--- ~]# docker run -it -P --name mynet-tomcat01 --net mynet tomcat [root@--- ~]# docker run -it -P --name mynet-centos01 --net mynet centos
查看mynet網(wǎng)橋信息
[root@--- ~]# docker network inspect 0096 [ { "Name": "mynet", "Id": "0096a971fd2c66400e53cbae5e53eceedc2f90d5685917e9534640a3535c0ef1", "Created": "2021-10-04T10:18:09.113847736+08:00", "Scope": "local", "Driver": "bridge", "EnableIPv6": false, "IPAM": { "Driver": "default", "Options": {}, "Config": [ { "Subnet": "192.168.0.0/16", "Gateway": "192.168.0.1" } ] }, "Internal": false, "Attachable": false, "Ingress": false, "ConfigFrom": { "Network": "" }, "ConfigOnly": false, "Containers": { "2fac920eebd505794c4a27ef4efdf531d32805e8663bded93a473bd28236bc27": { "Name": "mynet-centos01", "EndpointID": "3aff0752e641651a446ec490faa000812417855739086b2edb584ac2a95a26dd", "MacAddress": "02:42:c0:a8:00:02", "IPv4Address": "192.168.0.2/16", "IPv6Address": "" }, "3dceda051252b6970fe2156bac7710ba6489a97aac68c49b1c85a2f130d0556f": { "Name": "mynet-tomcat01", "EndpointID": "9f52b19493d35c48fe9b33a319de5dbe54c50de1a5d049103cb4e39bfe645f1b", "MacAddress": "02:42:c0:a8:00:03", "IPv4Address": "192.168.0.3/16", "IPv6Address": "" } }, "Options": {}, "Labels": {} } ]
進(jìn)入 mynet-centos01
測(cè)試連接 mynet-tomcat01
# 發(fā)現(xiàn)通過容器ip和容器名都可以連接 [root@--- ~]# docker exec -it 2fac920eebd5 /bin/sh sh-4.4# ping sh-4.4# ping 192.168.0.3 # 通過容器ip連接 PING 192.168.0.3 (192.168.0.3) 56(84) bytes of data. 64 bytes from 192.168.0.3: icmp_seq=1 ttl=64 time=0.140 ms 64 bytes from 192.168.0.3: icmp_seq=2 ttl=64 time=0.110 ms ^C --- 192.168.0.3 ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3000ms rtt min/avg/max/mdev = 0.110/0.121/0.140/0.016 ms sh-4.4# ping mynet-tomcat01 # 通過容器名連接 PING mynet-tomcat01 (192.168.0.3) 56(84) bytes of data. 64 bytes from mynet-tomcat01.mynet (192.168.0.3): icmp_seq=1 ttl=64 time=0.078 ms 64 bytes from mynet-tomcat01.mynet (192.168.0.3): icmp_seq=2 ttl=64 time=0.131 ms ^C --- mynet-tomcat01 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2001ms rtt min/avg/max/mdev = 0.078/0.110/0.131/0.026 ms sh-4.4#
結(jié)論
在同一網(wǎng)絡(luò)下的容器,發(fā)現(xiàn)通過容器ip
和容器名
都可以連接
思考問題:
其它網(wǎng)絡(luò)下的容器可以直接訪問mynet網(wǎng)絡(luò)下的容器嗎?
答案:不可以
解決方法: 讓別的網(wǎng)絡(luò)下的容器加入到
mynet
網(wǎng)絡(luò)下
到此這篇關(guān)于Docker自定義網(wǎng)絡(luò)詳解的文章就介紹到這了,更多相關(guān)Docker自定義網(wǎng)絡(luò)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
在Ubuntu15.04上安裝Docker的步驟以及基本用法
Docker是一種輕量型的的類虛擬機(jī)的平臺(tái),在開發(fā)項(xiàng)目上還是很有優(yōu)勢(shì)的,這僅是我的一種直觀理解。所以這篇文章主要給大家介紹了在Ubuntu15.04上安裝Docker的步驟以及基本用法,有需要的朋友們可以參考借鑒。2016-10-10docker-compose使用volumes注意項(xiàng)介紹
這篇文章主要介紹了docker-compose使用volumes注意項(xiàng),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03Docker中Dockerfile之容器中運(yùn)行MyEclipse搭建的JavaWeb項(xiàng)目
本篇文章主要介紹了Docker中Dockerfile之容器中運(yùn)行MyEclipse搭建的JavaWeb項(xiàng)目,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-02-02使用docker compose搭建consul集群環(huán)境的例子
consul是HashCorp公司推出使用go語言編寫的開源工具,用于實(shí)現(xiàn)分布式系統(tǒng)的服務(wù)發(fā)現(xiàn)與配置,今天給大家普及使用docker compose搭建consul集群環(huán)境的方法及consul基本知識(shí)講解,感興趣的朋友一起看看吧2021-06-06CentOS?7.9?安裝?docker20.10.12的過程解析
這篇文章主要介紹了CentOS?7.9?安裝?docker20.10.12?的相關(guān)資料,安裝軟件包時(shí)卸載舊軟件包,如果已經(jīng)安裝這些程序,請(qǐng)卸載他們以及相關(guān)的依賴項(xiàng),本文給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-10-10