您好,登錄后才能下訂單哦!
這篇文章主要介紹“docker如何使用網橋”,在日常操作中,相信很多人在docker如何使用網橋問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”docker如何使用網橋”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
docker引擎會默認創建一個docker0網橋,它在內核層連通了其他的物理或虛擬網卡,這就將所有容器和宿主機都放到同一個二層網絡。
1. docker如何使用網橋
1.1 Linux虛擬網橋的特點
網橋工作在二層(OSI堆棧),是通用網絡設備的一種,可以設置IP地址。有了IP地址,Linux便可通過路由表或IP表,在網絡層定位網橋,這就相當于有了一個虛擬網卡,即docker0。docker0默認的地址劃分:
IP: 127.17.42.1/16
MAC : 02:42:ac:11:00:00 到 02:42:ac:11:ff:ff,共65534個地址
1.2 docker0網橋連接方式
網絡配置過程如下:
a. 在宿主機上創建一對虛擬網卡veth pair設備。veth設備總是成對出現的,它們組成了一個數據的通道,數據從一個設備進入,就會從另一個設備出來。因此,veth設備常用來連接兩個網絡設備。
b. 在容器啟動時,Docker引擎將veth pair設備的一端放在新創建的容器中,并命名為eth0。另一端放在宿主機中,以veth***這樣類似的名字命名,并將這個網絡設備加入到docker0網橋中,可以通過brctl show命令查看。
c. 從docker0子網中分配一個IP給容器使用,并設置docker0的IP地址為容器的默認網關。
2. docker0網橋實現方式
2.1 查看docker0網橋
# yum install bridge-utils
// 查看主機網橋信息
# brctl show
// 查看容器網卡信息
# docker run -d --name test locutus1/centos /bin/bash
cID#ifconfig
ctrl+p ; ctrl+q
// 在主機中查看,docker0開放的網絡接口veth
# brctl show
# ifconfig
2.2 修改docker0網段
# ifconfig docker0 192.168.1.10/24 up
// 驗證docker0更改為目標網段
# ifconfig docker0
# service docker restart
// 查看容器網絡接口,驗證是否更改為docker0網段
# docker run -d --name test locutus1/centos /bin/bash
cID#ifconfig
2.3 自定義linux虛擬網橋br0
// 新增網橋br0
# brctl addbr br0
# ifconfig br0 172.17.0.0/24 up
// 修改docker啟動配置文件(centos下,docker啟動配置文件路徑是/etc/sysconfig/docker),添加DOCKER_OPTS值,使docker啟用新添加的網橋br0
# vim /etc/sysconfig/docker
DOCKER_OPTS="-b=br0"
// 修改docker守護進程配置文件,添加EnvironmentFile絕對路徑與啟動項$DOCKER_OPTS,其中“ - ”代表ignore error
# vim /lib/systemd/system/docker.service
EnvironmentFile=-/etc/sysconfig/docker
ExecStart=/usr/bin/dockerd $DOCKER_OPTS
// 重啟所有守護進程。重新裝載所有守護進程的unit文件,然后重新生成依賴關系樹
# systemctl daemon-reload
# service docker restart
// 查看容器IP,驗證其更改為br0網段
# docker run -it --name test2 centos /bin/bash
cID# yum install -y net-tools.x86_64
cID# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.17.0.2 netmask 255.255.0.0 broadcast 0.0.0.0
inet6 fe80::42:acff:fe11:2 prefixlen 64 scopeid 0x20<link>
ether 02:42:ac:11:00:02 txqueuelen 0 (Ethernet)
RX packets 1188 bytes 7830677 (7.4 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1073 bytes 73229 (71.5 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
到此,關于“docker如何使用網橋”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。