Отношение docker-engine к docker-compose to docker составить файл

Повторю:

Заранее спасибо за ваше время и внимание.

Какая связь между файлом docker-compose.yml и исполняемым файлом docker-compose является информацией, которую я пытаюсь получить?

Вот мой пример.

$>docker-compose version

docker-compose version 1.9.0, build 2585387
docker-py version: 1.10.6
CPython version: 2.7.9
OpenSSL version: OpenSSL 1.0.1t  3 May 2016
$> docker version
Client:
 Version:      17.04.0-ce
 API version:  1.28
 Go version:   go1.7.5
 Git commit:   78d1802
 Built:        Tue May 30 18:21:18 2017
 OS/Arch:      linux/amd64

Server:
 Version:      17.04.0-ce
 API version:  1.28 (minimum version 1.12)
 Go version:   go1.7.5
 Git commit:   78d1802
 Built:        Tue May 30 18:21:18 2017
 OS/Arch:      linux/amd64
 Experimental: false

Теперь файл docker-compose.yml

version: "2.2"
services:
  database:
    image: "${DOCKER_REPO_NAME}.......

Основываясь на документации по адресу https://docs.docker.com/compose/compose-file, если версия docker-engine 17.04, она должна поддерживать директиву версии файла docker-compose 3.2.

Однако я вижу это. ошибка

***** ОШИБКА следует за ******

$>docker-compose ${NO_ANSI} config -q


ERROR: Version in "./docker-compose.yml" is unsupported. You might be seeing this error because you're using the wrong Compose file version. Either specify a version of "2" (or "2.0") and place your service definitions under the `services` key, or omit the `version` key and place your service definitions at the root of the file to use version 1.
For more on the Compose file format versions, see https://docs.docker.com/compose/compose-file/

Итак, вопрос в том, что я делаю не так?

-Narahari

3 ответа

Решение

Версия 1.9.0 docker-compose поддерживает только до версии 2.1 спецификации файла compose.

См. https://docs.docker.com/release-notes/docker-compose/.

Ваш docker-compose довольно старый и поддерживает до версии 2.1 файлов docker-compose.yml.

Версия 2.2 поддерживается версией 1.13.0 или выше.

Вы либо обновляете docker-compose (рекомендуется), либо понижаете.yml до версии v1 или v2.1.

В справочном руководстве.yml есть таблица с примечаниями о совместимости.

Docker Compose версия 1.9.0...

Представлена ​​версия 2.1 docker-compose.yml Спецификация. Эту версию необходимо использовать с Docker Engine 1.12 или выше.

Похоже, вам нужен по крайней мере Docker Compose 1.13.0, чтобы использовать файл compose с version: "2.2", (Хотя я не вижу этого четко задокументированного нигде, кроме отдельных страниц GitHub.)

Другие вопросы по тегам