一些特殊部署场景下,需要指定某个容器ip以便于访问。可以使用Docker的网络模式来间接地控制容器的IP地址,所以这边记录一下分别在单独docker与docker-compose配置示例!☘
docker
1.自定义一个名为my-docker-net网络
docker network create --subnet=172.0.0.0/24 my-docker-net
2.指定容器网络并设置固定ip
docker run -d --net=my-docker-net --ip=172.0.0.3 --name=[容器名字] [镜像名字]
--net
指定网络--ip
指定ip
通过IP172.0.0.3
访问该容器了。
docker-compose
在docker-compose.yml文件中networks
节点进行配置
1.subnet 进行配置网段
networks:
default:
driver: bridge
ipam:
driver: default
# 解除下面的注释可以设置网段,用于nginx等容器固定容器IP
config:
- subnet: 172.0.0.0/24
2.对应service下networks
节点进行配置固定ip
version: "3"
services:
nginx:
networks:
default:
ipv4_address: 172.0.0.3
以上命令对compose的网络配置一个172.0.0.0/24网段,然后指定其中nginx
指定ip为172.0.0.3