docker-compose添加服务到已存在网络

Evan
Evan
发布于 2025-04-28 / 145 阅读
0

1、已存在的service

配置文件docker-compose中已存在下面的服务,但是没有指定IP

  it-tools:
    image: ghcr.io/corentinth/it-tools:latest
    restart: on-failure:3
    depends_on:
      halo:
        condition: service_healthy
    environment:
            - BASE_URL:/tools
network:
	-xxxx

2、配置文件中以存在的网络

这里是已经添加了一个网关的网络,主要用于定义该网络下面的所有设备的网段

networks:
  halo_network:
          ipam:
                  config:
                          - subnet: 10.255.3.0/24

3、目的:添加nginxService到已存在的网络,并指定内网IP

在相同的配置文件中直接指定network这个Key就可以自动配置到相同的网络

docker-compose.yaml配置文件中设置

services:
  nginx:
    image: nginx:latest
    container_name: nginx
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./nginx/nginx.conf:/etc/nginx/nginx.conf          # 主配置文件
      - ./nginx/conf.d:/etc/nginx/conf.d                  # 动态配置目录
      - ./nginx/html:/usr/share/nginx/html                # 网站根目录
      - /certs:/etc/letsencrypt                            # 证书持久化存储(关键!)
      - ./nginx/logs:/var/log/nginx                       # 日志目录
    networks: 
        halo_halo_network: 
            ipv4_address: 10.255.3.5

4、结束

这样就可以在halo_halo_network下面的所有设备中通过IP的方式来请求这个服务