docker容器啟動(dòng)設(shè)置固定IP的實(shí)現(xiàn)
docker安裝以后的網(wǎng)絡(luò)類型
[root@insure updev]# docker network ls NETWORK ID NAME DRIVER SCOPE 14da40175b01 bridge bridge local 65fb78c28e4f host host local e0d0c90c1462 none null local
說(shuō)明:橋接網(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地址就變了,無(wú)指定網(wǎng)絡(luò)使用 --network=none ,docker 容器就不會(huì)分配局域網(wǎng)的IP
主機(jī)網(wǎng)絡(luò)使用 --network=host,此時(shí),Docker 容器的網(wǎng)絡(luò)會(huì)附屬在主機(jī)上,兩者是互通的。 例如,在容器中運(yùn)行一個(gè)Web服務(wù),監(jiān)聽(tīng)8080端口,則主機(jī)的8080端口就會(huì)自動(dòng)映射到容器中。
創(chuàng)建自定義網(wǎng)絡(luò)
首先查看自動(dòng)分配的IP地址
[root@insure updev]# docker inspect -f='{{.Name}} {{.NetworkSettings.IPAddress}} {{.HostConfig.PortBindings}}' $(docker ps -aq) /awesome_lamarr 172.17.0.4 map[8091/tcp:[{ 8091}]] /priceless_leavitt 172.17.0.2 map[] /clever_davinci 172.17.0.3 map[8080/tcp:[{ 8888}]]
自定義創(chuàng)建自己的網(wǎng)絡(luò)地址 只能每次創(chuàng)建16個(gè)
[root@insure updev]# docker network create --subnet=172.18.0.0/16 mynetwork cf556844631a91a2a530fc07146cf03de650214ee50469675e232cd2b9e243b5 [root@insure updev]# ifconfig br-cf556844631a: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 inet 172.18.0.1 netmask 255.255.0.0 broadcast 172.18.255.255 ether 02:42:90:0c:71:1e txqueuelen 0 (Ethernet) RX packets 29759 bytes 1736558 (1.6 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 29759 bytes 1736558 (1.6 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
說(shuō)明 172.18.0.1 會(huì)被系統(tǒng)占用
創(chuàng)建docker容器啟動(dòng)
[root@insure updev]# docker run -itd -p 8091:8091 --name eurekadev --net mynetwork --ip 172.18.0.2 172.16.120.194:5000/claimeureka:latest /bin/bash a6665cd3fd2e1cb7fca1215a1e75997276b928440e6b888cda4fe3644e0434df [root@insure updev]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES a6665cd3fd2e 172.16.120.194:5000/claimeureka:latest "java -jar /app.jar …" 6 seconds ago Up 5 seconds 0.0.0.0:8091->8091/tcp eurekadev [root@insure updev]# docker inspect a6665cd3fd2e | grep IPAddress "SecondaryIPAddresses": null, "IPAddress": "", "IPAddress": "172.18.0.2",
說(shuō)明:通過(guò)命令可以看到容器已經(jīng)成功啟動(dòng),地址也是我們分配的IP地址
到此這篇關(guān)于docker容器啟動(dòng)設(shè)置固定IP的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)docker 固定IP內(nèi)容請(qǐng)搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!
版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。