docker容器啟動設置固定IP的實現
docker安裝以後的網絡類型
[root@insure updev]# docker network ls NETWORK ID NAME DRIVER SCOPE 14da40175b01 bridge bridge local 65fb78c28e4f host host local e0d0c90c1462 none null local
說明:橋接網絡默認情況下啟動的Docker容器,都是使用 bridge,Docker安裝時創建的橋接網絡,每次Docker容器重啟時,會按照順序獲取對應的IP地址,這個就導致重啟下,Docker的IP地址就變瞭,無指定網絡使用 –network=none ,docker 容器就不會分配局域網的IP
主機網絡使用 –network=host,此時,Docker 容器的網絡會附屬在主機上,兩者是互通的。 例如,在容器中運行一個Web服務,監聽8080端口,則主機的8080端口就會自動映射到容器中。
創建自定義網絡
首先查看自動分配的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}]]
自定義創建自己的網絡地址 隻能每次創建16個
[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
說明 172.18.0.1 會被系統占用
創建docker容器啟動
[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",
說明:通過命令可以看到容器已經成功啟動,地址也是我們分配的IP地址
到此這篇關於docker容器啟動設置固定IP的實現的文章就介紹到這瞭,更多相關docker 固定IP內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Docker容器跨主機通信overlay網絡的解決方案
- Docker跨服務器通信Overlay解決方案(上)之 Consul單實例
- docker容器間跨宿主機通信-基於overlay的實現方法
- Docker 網絡模式及配置方式
- docker 容器自定義 hosts 網絡訪問操作