- 默認(rèn)為 bridge
--net=bridge
默認(rèn)網(wǎng)絡(luò)无蜂,Docker啟動(dòng)后創(chuàng)建一個(gè)docker0
網(wǎng)橋掐隐,默認(rèn)創(chuàng)建的容器也是添加到這個(gè)網(wǎng)橋中射众。
//查看網(wǎng)卡信息
ifconifg
- host
--net=host
容器不會(huì)獲得一個(gè)獨(dú)立的network namespace诀紊,而是與宿主機(jī)共用一個(gè)垦垂。這就意味著容器不會(huì)有自己的網(wǎng)卡信息,而是使用宿主
機(jī)的恩敌。容器除了網(wǎng)絡(luò)瞬测,其他都是隔離的。 - none
--net=none
獲取獨(dú)立的network namespace纠炮,但不為容器進(jìn)行任何網(wǎng)絡(luò)配置月趟,需要我們手動(dòng)配置。 - container
net=container:Name/ID
與指定的容器使用同一個(gè)network namespace恢口,具有同樣的網(wǎng)絡(luò)配置信息孝宗,兩個(gè)容器除了網(wǎng)絡(luò),其他都還是隔離的耕肩。 - 自定義網(wǎng)絡(luò) 與默認(rèn)的bridge原理一樣因妇,但自定義網(wǎng)絡(luò)具備內(nèi)部DNS發(fā)現(xiàn),可以通過容器名或者主機(jī)名容器之間網(wǎng)絡(luò)通信猿诸。
用busybox
來測(cè)試
docker pull busybox
docker images
//運(yùn)行 busybox
docker run -itd --name bs01 --net=bridge busybox
docker run -itd --name bs02 --net=host busybox
//進(jìn)入busybox容器中 用 sh
docker exec -it bs02 sh
-itd
中的d
參數(shù)婚被,是給容器分配一個(gè)偽終端,保持在后臺(tái)運(yùn)行
移除測(cè)試的容器
docker rm -f <ID/Name>
//如
docker rm -f nginx01
- 查看端口監(jiān)聽情況(host模式下)
netstat -antp |grep 80
container模式實(shí)例
新建
bs
容器和nginx01
容器梳虽,兩個(gè)容器共用相同的網(wǎng)絡(luò)命名空間
docker run -itd --name bs -p 99:80 busybox
docker run -d --name nginx01 --net container:bs nginx
docker exec -it bs sh
netstat -antp
自定義網(wǎng)絡(luò)實(shí)例
1址芯、創(chuàng)建一個(gè)網(wǎng)絡(luò)bs-test
docker network create bs-test
2、新建bs3
和bs4
窜觉,加入自定義網(wǎng)絡(luò) bs-test
谷炸,可以互相ping
通
docker run -it --name bs3 --net bs-test busybox
docker run -it --name bs4 --net bs-test busybox
ping bs3
centos路由和路由表命令
- 查看路由
route
- 查看路由表
iptables -vnL
//
iptables-save