Docker安裝后入偷,默認(rèn)會(huì)創(chuàng)建下面三種網(wǎng)絡(luò)類型
$ docker network ls
NETWORK ID NAME DRIVER SCOPE
9781b1f585ae bridge bridge local
1252da701e55 host host local
237ea3d5cfbf none null local
啟動(dòng) Docker的時(shí)候慕匠,用 --network 參數(shù),可以指定網(wǎng)絡(luò)類型
docker run -itd --name test1 --network bridge --ip 172.17.0.10 centos:latest /bin/bash
bridge:橋接網(wǎng)絡(luò)
默認(rèn)情況下啟動(dòng)的Docker容器宠叼,都是使用 bridge播玖,Docker安裝時(shí)創(chuàng)建的橋接網(wǎng)絡(luò)褐奥,每次Docker容器重啟時(shí)咖耘,會(huì)按照順序獲取對(duì)應(yīng)的IP地址,這個(gè)就導(dǎo)致重啟下撬码,Docker的IP地址就變了儿倒。
none:無指定網(wǎng)絡(luò)
使用 --network=none ,docker 容器就不會(huì)分配局域網(wǎng)的IP
host: 主機(jī)網(wǎng)絡(luò)
使用 --network=host呜笑,此時(shí)夫否,Docker 容器的網(wǎng)絡(luò)會(huì)附屬在主機(jī)上,兩者是互通的叫胁。
例如凰慈,在容器中運(yùn)行一個(gè)Web服務(wù),監(jiān)聽8080端口驼鹅,則主機(jī)的8080端口就會(huì)自動(dòng)映射到容器中微谓。
創(chuàng)建自定義網(wǎng)絡(luò):(設(shè)置固定IP)
啟動(dòng)Docker容器的時(shí)候,使用默認(rèn)的網(wǎng)絡(luò)是不支持指派固定IP的输钩,如下
docker run -itd --net bridge --ip 172.17.0.10 centos:latest /bin/bash
6eb1f228cf308d1c60db30093c126acbfd0cb21d76cb448c678bab0f1a7c0df6
docker: Error response from daemon: User specified IP address is supported on user defined networks only.
步驟1: 創(chuàng)建自定義網(wǎng)絡(luò)
docker network create --subnet=172.18.0.0/16 mynetwork
? ~ docker network ls
NETWORK ID NAME DRIVER SCOPE
9781b1f585ae bridge bridge local
1252da701e55 host host local
4f11ae9c85de mynetwork bridge local
237ea3d5cfbf none null local
步驟2: 創(chuàng)建Docker容器
docker run -itd --name networkTest1 --net mynetwork --ip 172.18.0.2 centos:latest /bin/bash