在Docker容器運(yùn)行過(guò)程中,有時(shí)需要為其分配靜態(tài)IP地址以方便管理與使用。下面介紹基于docker network實(shí)現(xiàn)靜態(tài)IP分配的方法。
1. 創(chuàng)建一個(gè)新網(wǎng)絡(luò)
$ docker network create --subnet=172.18.0.0/16 static_network
2. 啟動(dòng)一個(gè)容器并加入該網(wǎng)絡(luò)
$ docker run --name=my_container --net=static_network --ip=172.18.0.2 -d my_image
3. 測(cè)試是否生效
$ ping 172.18.0.2
上述命令創(chuàng)建了一個(gè)名為static_network的新網(wǎng)絡(luò),并指定了CIDR地址空間為172.18.0.0/16。之后啟動(dòng)一個(gè)名為my_container的容器,并將其加入該網(wǎng)絡(luò)中,同時(shí)分配IP地址為172.18.0.2。最后測(cè)試是否能夠ping通該IP地址。
如果需要為一個(gè)已經(jīng)存在的容器分配靜態(tài)IP地址,則可按照以下步驟操作:
1. 停止該容器并從網(wǎng)絡(luò)中移除
$ docker stop my_container
$ docker network disconnect bridge my_container
2. 將該容器加入目標(biāo)網(wǎng)絡(luò)并分配靜態(tài)IP
$ docker network connect --ip=172.18.0.2 static_network my_container
3. 重新啟動(dòng)該容器
$ docker start my_container
上述命令將停止名為my_container的容器,并從bridge網(wǎng)絡(luò)中移除。之后將該容器加入目標(biāo)網(wǎng)絡(luò)static_network中,同時(shí)分配IP地址為172.18.0.2。最后重新啟動(dòng)該容器。