Skip to content
首页/server/本文内容

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