为Django构建时,docker-compose中的以下错误意味着什么?

时间:2019-05-07 11:52:13

标签: django docker docker-compose

下面是docker-compose.yml文件

  

docker-compose.yml

services:

 db:
  container_name: djangy-db
  image: postgres

 app:
  container_name: djangy-app
  build:
   context: ./
  command: python manage.py runserver 0.0.0.0:8000
  volumes:
   - ./app:/app
  ports:
   - "8000:8000"
  links:
   - db

当我跑步

docker-compose up

我收到以下错误消息。

ERROR: The Compose file './docker-compose.yml' is invalid because:
Unsupported config option for services: 'app'

1 个答案:

答案 0 :(得分:1)

在撰写文件中没有版本的情况下,docker-compose将默认使用版本1语法,该语法在顶层定义服务。结果,它正在创建一个名为“ services”的服务,该服务带有选项“ db”和“ app”,在v1撰写文件语法中都不有效。作为第一行,包括:

version: '2'

我没有使用版本3语法,因为您正在使用compose文件中的build,该文件在群体模式下不起作用。链接也已被弃用,您应该切换到使用docker网络(默认情况下,compose文件的版本2和更高版本提供)。生成的文件如下所示:

version: '2'
services:

 db:
  container_name: djangy-db
  image: postgres

 app:
  container_name: djangy-app
  build:
   context: ./
  command: python manage.py runserver 0.0.0.0:8000
  volumes:
   - ./app:/app
  ports:
   - "8000:8000"