新聞中心
這篇文章主要介紹“docker如何使用網(wǎng)橋”,在日常操作中,相信很多人在docker如何使用網(wǎng)橋問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”docker如何使用網(wǎng)橋”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
成都創(chuàng)新互聯(lián)主營易縣網(wǎng)站建設的網(wǎng)絡公司,主營網(wǎng)站建設方案,成都APP應用開發(fā),易縣h5重慶小程序開發(fā)搭建,易縣網(wǎng)站營銷推廣歡迎易縣等地區(qū)企業(yè)咨詢docker引擎會默認創(chuàng)建一個docker0網(wǎng)橋,它在內(nèi)核層連通了其他的物理或虛擬網(wǎng)卡,這就將所有容器和宿主機都放到同一個二層網(wǎng)絡。
1. docker如何使用網(wǎng)橋
1.1 Linux虛擬網(wǎng)橋的特點
網(wǎng)橋工作在二層(OSI堆棧),是通用網(wǎng)絡設備的一種,可以設置IP地址。有了IP地址,Linux便可通過路由表或IP表,在網(wǎng)絡層定位網(wǎng)橋,這就相當于有了一個虛擬網(wǎng)卡,即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網(wǎng)橋連接方式
網(wǎng)絡配置過程如下:
a. 在宿主機上創(chuàng)建一對虛擬網(wǎng)卡veth pair設備。veth設備總是成對出現(xiàn)的,它們組成了一個數(shù)據(jù)的通道,數(shù)據(jù)從一個設備進入,就會從另一個設備出來。因此,veth設備常用來連接兩個網(wǎng)絡設備。
b. 在容器啟動時,Docker引擎將veth pair設備的一端放在新創(chuàng)建的容器中,并命名為eth0。另一端放在宿主機中,以veth***這樣類似的名字命名,并將這個網(wǎng)絡設備加入到docker0網(wǎng)橋中,可以通過brctl show命令查看。
c. 從docker0子網(wǎng)中分配一個IP給容器使用,并設置docker0的IP地址為容器的默認網(wǎng)關。
2. docker0網(wǎng)橋?qū)崿F(xiàn)方式
2.1 查看docker0網(wǎng)橋
# yum install bridge-utils
// 查看主機網(wǎng)橋信息
# brctl show
// 查看容器網(wǎng)卡信息
# docker run -d --name test locutus1/centos /bin/bash
cID#ifconfig
ctrl+p ; ctrl+q
// 在主機中查看,docker0開放的網(wǎng)絡接口veth
# brctl show
# ifconfig
2.2 修改docker0網(wǎng)段
# ifconfig docker0 192.168.1.10/24 up
// 驗證docker0更改為目標網(wǎng)段
# ifconfig docker0
# service docker restart
// 查看容器網(wǎng)絡接口,驗證是否更改為docker0網(wǎng)段
# docker run -d --name test locutus1/centos /bin/bash
cID#ifconfig
2.3 自定義linux虛擬網(wǎng)橋br0
// 新增網(wǎng)橋br0
# brctl addbr br0
# ifconfig br0 172.17.0.0/24 up
// 修改docker啟動配置文件(centos下,docker啟動配置文件路徑是/etc/sysconfig/docker),添加DOCKER_OPTS值,使docker啟用新添加的網(wǎng)橋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網(wǎng)段
# docker run -it --name test2 centos /bin/bash
cID# yum install -y net-tools.x86_64
cID# ifconfig
eth0: flags=4163
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
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如何使用網(wǎng)橋”的學習就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關知識,請繼續(xù)關注創(chuàng)新互聯(lián)-成都網(wǎng)站建設公司網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
本文名稱:docker如何使用網(wǎng)橋-創(chuàng)新互聯(lián)
文章出自:http://www.ef60e0e.cn/article/cdddds.html