您好,在 Docker 容器中,每次启动容器时,内网 IP 地址都会发生变化。如果需要固定容器的内网 IP,可以通过以下两种方法实现:
1.使用 Docker Compose
可以使用 Docker Compose 工具来管理容器,其中可以通过 docker-compose.yml 文件来设置容器的内网 IP 地址。在 docker-compose.yml 文件中,可以使用 networks 属性来定义自定义网络,并通过 ipv4_address 属性来设置容器的 IP 地址。例如:
- version: '3'
- services:
- web:
- image: nginx
- networks:
- mynet:
- ipv4_address: 172.20.0.10
- networks:
- mynet:
- driver: bridge
- ipam:
- config:
- - subnet: 172.20.0.0/16
复制代码
在以上的配置中,定义了一个名称为 mynet 的自定义网络,并设置了一个 IP 地址为 172.20.0.10 的容器。每次启动容器时,该容器都会使用固定的 IP 地址。
2.手动创建自定义网络
可以手动创建一个自定义网络,并为该网络分配一个 IP 地址段。然后在启动容器时,通过 --network 参数指定该网络,并使用 --ip 参数来设置容器的 IP 地址。例如:
- docker network create mynet --subnet=172.20.0.0/16
- docker run -d --network=mynet --ip=172.20.0.10 nginx
复制代码
在以上的命令中,首先创建了一个名称为 mynet 的自定义网络,并为该网络分配了一个 IP 地址段 172.20.0.0/16。然后启动了一个使用 IP 地址为 172.20.0.10 的 Nginx 容器,该容器会连接到 mynet 网络。
以上就是两种固定 Docker 容器内网 IP 地址的方法。可以根据具体的需求选择适合的方法。 |