小編給大家分享一下如何使用橋接模式構(gòu)建docker網(wǎng)絡(luò),希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供恩平網(wǎng)站建設(shè)、恩平做網(wǎng)站、恩平網(wǎng)站設(shè)計、恩平網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、恩平企業(yè)網(wǎng)站模板建站服務(wù),十年恩平做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。
# 主機(jī)環(huán)境 ubuntu server 14.04,虛擬機(jī)
# eth2:192.168.56.101
# eth3: 192.168.58.101
# 192.168.56.0/24 管理網(wǎng)絡(luò)
# 192.168.58.0/24 數(shù)據(jù)網(wǎng)絡(luò),容器使用的網(wǎng)絡(luò)
# 切換到 root 用戶執(zhí)行以下命令
1、配置 Linux Bridge
brctl addbr br100
ip addr add 192.168.58.110/24 dev br100 # 給橋設(shè)置一個 IP,這樣主機(jī)可以直接訪問容器
ip link set dev br100 up
2、配置 Docker 守護(hù)進(jìn)程
echo 'DOCKER_OPTS="-b=br100"' >> /etc/default/docker
sudo service docker start
3、啟動容器,設(shè)置網(wǎng)絡(luò)模式為 none,自己配置容器網(wǎng)絡(luò)
sudo docker run -it --net=none ubuntu:14.04 /bin/bash
4、查看容器進(jìn)程 id
docker inspect -f '{{.State.Pid}}’ CONTAINER_ID
pid=xxx
5、創(chuàng)建 namespaces 的目錄
mkdir -p /var/run/netns
ln -s /proc/$pid/ns/net /var/run/netns/$pid
6、創(chuàng)建 veth 設(shè)備,分配給容器,綁定到橋
ip link add vetha type veth peer name vethb
brctl addif br100 vethb
ip link set vethb up
ip link set vetha netns $pid
ip netns exec $pid ip link set dev vetha name eth0
ip netns exec $pid ip link set eth0 up
ip netns exec $pid ip addr add 192.168.58.121/24 dev eth0
ip netns exec $pid ip route add default via 192.168.58.110
7、綁定 eth3 到 橋
brctl addif br100 eth3
ip addr del 192.168.58.101/24 dev eth3 # 刪除 eth3 的 IP
ip addr add 192.168.58.101/24 dev br100 # 把 eth3 的 IP 加到 橋中
看完了這篇文章,相信你對“如何使用橋接模式構(gòu)建docker網(wǎng)絡(luò)”有了一定的了解,如果想了解更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!