覆盖期间未使用 docker-compose 网络

覆盖期间未使用 docker-compose 网络

我有一个使用覆盖扩展的 docker-compose 文件。我使用 V2 语法,并在我的 Compose 文件中定义了两个容器将共享的网络。然后我扩展了 Compose 文件,以区分开发和生产之间的设置。

当所有内容都放在一个文件中时,docker-compose 将使用网络定义。现在,使用覆盖后,docker 会忽略网络,创建自己的网络并警告我未使用的网络。

我的docker-compose.yml:

version: '2'

services:
  inexgw:
    ports:
      - "45308:45308"
    expose:
      - "45309"
    networks:
      - gcm
    depends_on:
      - spagw
  spagw:
    networks:
      - gcm
    environment:
      - LOGDIR=/logs
      - DBDIR=/db
    volumes:
      - ${LOGDIR}:/logs
      - ${DBDIR}:/db


networks:
  gcm:

我的docker-compose.override.yml:

version: '2'

services:
  inexgw:
    restart: always
    build:
      context: ./gcm_inex/
      dockerfile: docker/Dockerfile
    environment:
      - GRAYLOGSRV=10.10.10.3
      - LOGDIR=/logs
      - LOGLEVEL=INFO
    volumes:
      - ${LOGDIR}:/logs
  spagw:
    restart: always
    build: 
      context: ./django/
      dockerfile: docker/Dockerfile
    ports:
      - "45230:45230"
    environment:
      - GRAYLOGSRV=10.10.10.3
      - LOGDIR=/logs
      - DBDIR=/db
      - LOGLEVEL=INFO

输出docker给我:

WARNING: Some networks were defined but are not used by any service: gcm
Creating network "spagcm_default" with the default driver
Creating spagcm_spagw_1
Creating spagcm_inexgw_1

如果有人能阐明这种行为,我将不胜感激......

答案1

发现这个问题在 1.6.0 和 1.6.2 之间的某个版本中已经得到解决。

只需升级到最新版本docker-compose,问题就会消失: https://docs.docker.com/compose/install/

相关内容