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