docker创建容器,分配静态ip
最近频繁遇见docker容器启动之后分配的ip与服务器ssh的ip冲突问题,导致,容器一旦创建ssh就无法访问,所以最好在容器创建之前分配一个固定ip段,防止ip冲突
创建容器网络
docker network create --subnet=172.32.0.0/16 custom_network
docker-compose 使用静态ip
以nginx配置为例
services:
nginx:
container_name: nginx
image: nginx
restart: always
ports:
- 80:80
- 443:443
volumes:
- ./log:/var/log/nginx
- ./nginx.conf:/etc/nginx/nginx.conf
- ./conf.d/default.conf:/etc/nginx/conf.d/default.conf
- ./cert:/etc/nginx/cert
- ./webpage:/etc/nginx/webpage
- ./rtmp:/temp
networks:
custom_network:
# 确保此ip为被其他容器使用
ipv4_address: 172.32.0.10
networks:
custom_network:
external: true
docker直接启动分配静态ip
docker run --net custom_network --ip 172.32.0.10 -d --name nginx nginx