一、为正在运行的容器绑定固定IP
1、创建自定义的桥接网络
创建一个自定义的桥接网络,该网络允许手动分配 IP 地址。
docker network create --subnet=172.100.0.0/24 --gateway=172.100.0.1 -d bridge my_custom_bridge
在这个命令中:
- --subnet=172.100.0.0/24:定义了网络的 IP 范围。
- --gateway=172.100.0.1:指定了网关的 IP 地址。
- -d bridge:指定使用桥接驱动程序。
- my_custom_bridge:这是新网络的名称。
2、断开容器与默认 bridge 网络的连接
如果容器当前运行在默认的 bridge 网络中,需要将其断开。
docker network disconnect bridge <container-name>
将
3、将容器连接到自定义网络并指定固定 IP
docker network connect --ip 172.100.0.100 my_custom_bridge mycontainer
- --ip 172.100.0.100:指定要分配给容器的固定 IP 地址。
- my_custom_bridge:是您创建的自定义网络名称。
- mycontainer:是您的容器名称或 ID。
4、验证网络配置
docker inspect mycontainer
在输出中,查找 Networks 部分,确保容器连接到了 my_custom_bridge 网络,并且 IP 地址是 172.100.0.100。
二、在容器创建时直接分配固定 IP
在容器创建时直接分配固定 IP,可以使用 docker run 命令与 --network 和 --ip 选项一起:
docker run --network my_custom_bridge --ip 172.100.0.100 -d <image-name>
通过这些步骤,您可以将一个已经运行的容器从默认的 bridge 网络迁移到自定义的桥接网络,并为其分配固定的 IP 地址。
注意事项
- 容器重启后保持 IP:只要容器没有被删除(即,容器 ID 保持不变),并且仍然连接到自定义网络,它的 IP 地址会在重启后保持不变。
- 删除容器后再重新创建:如果您删除容器并重新创建它,需确保使用相同的 docker network connect 命令来分配固定 IP。