Что означает следующая ошибка в docker-compose при сборке для Django? - PullRequest
0 голосов
/ 07 мая 2019

Ниже docker-compose.yml файл

докер-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 Ответ

1 голос
/ 07 мая 2019

Без версии в файле compose по умолчанию docker-compose будет использовать синтаксис версии 1, который определяет службы на верхнем уровне. В результате создается служба с именем «services» с параметрами «db» и «app», ни одна из которых не действительна в синтаксисе файла составления v1. В качестве первой строки укажите:

version: '2'

Я не использую синтаксис версии 3, потому что вы используете сборку в вашем файле compose, которая не работает в режиме роя. Ссылки также устарели, и вам следует переключиться на использование сетей Docker (предоставляется по умолчанию в версии 2 и выше файла compose). Полученный файл будет выглядеть так:

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"
...