docker-compose build 包含不受支持的选项:“network”

oet*_*ter 3 docker docker-compose

我试图让 docker-compose 通过系统代理运行,并根据docker compose file doc

网络选项可以添加到撰写文件中,如下所示:

build:
  context: .
  network: host
Run Code Online (Sandbox Code Playgroud)

我的撰写文件如下所示:

version: '3'
services:
  flasky:
    build:
      context: "."
      network: host
      args:
        - http_proxy
        - https_proxy 
    ports:
      - "8000:5000"
    env_file: .env
    restart: always
    links:
      - mysql:dbserver
      - elasticsearch:elasticsearch
  mysql:
    image: "mysql/mysql-server:5.7"
    env_file: .env-mysql
    restart: always
  elasticsearch:
    image: "docker.elastic.co/elasticsearch/elasticsearch:7.8.0"
    env_file: .env-es
    restart: always
Run Code Online (Sandbox Code Playgroud)

当尝试运行“docker-compose up”时,出现以下错误:

ERROR: The Compose file './docker-compose.yml' is invalid because:
services.flasky.build contains unsupported option: 'network'
Run Code Online (Sandbox Code Playgroud)

我认为我完全按照文档中的示例进行操作,不知道这里出了什么问题。有什么帮助吗?

β.ε*_*.βε 10

来自您的文档文章:

3.4版本添加文件格式

来源: https: //docs.docker.com/compose/compose-file/#network

但你是版本3.0

看:

注意:指定要使用的 Compose 文件版本时,请确保指定主要版本号和次要版本号。如果未给出次要版本,0则默认使用而不是最新的次要版本。因此,以后版本中添加的功能将不受支持。例如:

version: "3"
Run Code Online (Sandbox Code Playgroud)

相当于:

version: "3.0"
Run Code Online (Sandbox Code Playgroud)

来源:https ://docs.docker.com/compose/compose-file/compose-versioning/#version-3

所以你的解决方法就是将你的versionfrom更改version: 3为,至少,version: 3.4

version: '3.4'
services:
  flasky:
    build:
      context: "."
      network: host
      args:
        - http_proxy
        - https_proxy 
    ports:
      - "8000:5000"
    env_file: .env
    restart: always
    links:
      - mysql:dbserver
      - elasticsearch:elasticsearch
  mysql:
    image: "mysql/mysql-server:5.7"
    env_file: .env-mysql
    restart: always
  elasticsearch:
    image: "docker.elastic.co/elasticsearch/elasticsearch:7.8.0"
    env_file: .env-es
    restart: always
Run Code Online (Sandbox Code Playgroud)