服務(wù)器
由于工作需要,需要給docker設置固定IP,在網(wǎng)上的查找了一些資料,自己試著(zhù)實(shí)踐一下,留個(gè)筆記。
經(jīng)常用Docker模擬項目在生產(chǎn)環(huán)境中的部署,往往需要同時(shí)開(kāi)好幾臺docker容器,而且有時(shí)安裝的軟件需要綁定Docker局域網(wǎng)中的其他容器,如 MongoDB 副本集部署的時(shí)候,就需要綁定其他容器的內網(wǎng)IP。
但是,Docker 每次重啟后,容器的IP地址會(huì )變化,查詢(xún)了資料,Docker是支持設置固定IP的。
Docker 默認網(wǎng)絡(luò )
Docker安裝后,默認會(huì )創(chuàng )建下面三種網(wǎng)絡(luò )類(lèi)型:
$ 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
參數,可以指定網(wǎng)絡(luò )類(lèi)型,如:
~ docker run -itd --name test1 --network bridge --ip 172.17.0.10 centos:latest /bin/bash
bridge:橋接網(wǎng)絡(luò )
默認情況下啟動(dòng)的Docker容器,都是使用 bridge,Docker安裝時(shí)創(chuàng )建的橋接網(wǎng)絡(luò ),每次Docker容器重啟時(shí),會(huì )按照順序獲取對應的IP地址,這個(gè)就導致重啟下,Docker的IP地址就變了
none:無(wú)指定網(wǎng)絡(luò )
使用 --network=none
,docker 容器就不會(huì )分配局域網(wǎng)的IP
host: 主機網(wǎng)絡(luò )
使用 --network=host
,此時(shí),Docker 容器的網(wǎng)絡(luò )會(huì )附屬在主機上,兩者是互通的。
例如,在容器中運行一個(gè)Web服務(wù),監聽(tīng)8080端口,則主機的8080端口就會(huì )自動(dòng)映射到容器中。
創(chuàng )建自定義網(wǎng)絡(luò ):(設置固定IP)
啟動(dòng)Docker容器的時(shí)候,使用默認的網(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.
因此,需要創(chuàng )建自定義網(wǎng)絡(luò ),下面是具體的步驟:
步驟1: 創(chuàng )建自定義網(wǎng)絡(luò )
創(chuàng )建自定義網(wǎng)絡(luò ),并且指定網(wǎng)段:172.18.0.0/16
~ 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
這個(gè)時(shí)候,創(chuàng )建的Docker容器就會(huì )持有 172.18.0.2 這個(gè)IP.
[root@ec8e31938fe7 /]# ifconfig eth0 Link encap:Ethernet HWaddr 02:42:AC:12:00:02 inet addr:172.18.0.2 Bcast:0.0.0.0 Mask:255.255.0.0 inet6 addr: fe80::42:acff:fe12:2/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:88 errors:0 dropped:0 overruns:0 frame:0 TX packets:14 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:4056 (3.9 KiB) TX bytes:1068 (1.0 KiB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
鏈接
Docker Container Networking
為Docker容器指定自定義網(wǎng)段的固定IP/靜態(tài)IP地址
以上就是本文的全部?jì)热?,希望對大家的學(xué)習有所幫助,也希望大家多多支持特網(wǎng)科技。
更多關(guān)于云服務(wù)器,域名注冊,虛擬主機的問(wèn)題,請訪(fǎng)問(wèn)特網(wǎng)科技官網(wǎng):wap.friendlycc.com.cn
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。
Copyright ? 2009-2022 56dr.com. All Rights Reserved. 特網(wǎng)科技 特網(wǎng)云 版權所有 特網(wǎng)科技 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 百度云 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2
建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站