2017-02-09 2 views
22

Вот мой докер-compose.yml файл:Версия в ./docker-compose.yml не поддерживается. Вы могли бы видеть эту ошибку, потому что вы используете неправильную версию файла Compose

version: '3.1' 

services: 
    a: 
    image: tutum/hello-world 
    b: 
    image: tutum/hello-world 

secrets: 
    id: my_password 

Если я бегу $ docker-compose-up я получаю это:

версии в «./docker-compose.yml» не поддерживается. Возможно, вы заметили эту ошибку, потому что используете неправильную версию файла Compose.

Мой докер-Compose версия:

$ docker-compose --version 
docker-compose version 1.11.0, build 6de1806 

Что здесь не так? Должна ли моя поддерживающая докере версия версии v3.1 спецификации docker-compose.yml (в соответствии с release notes)?

+0

Какова версия вашего докера (не докер)? – lvthillo

+0

Докер версия 1.13.0, build 49bf474 – Eric

+0

его '' 'docker-compose''', а не' '' docker compose''' –

ответ

35

Вы все делаете правильно и должны работать. Но был bug в docker-compose 1.11.0, который не распознал формат файла 3.1 как действительный. (3,0 работ).

Существует уже новый релиз Докер-композе (1.11.1), который включает в себя Bugfix:

Bugfixes

Исправлена ​​ошибка, когда формат файла 3,1 не будучи признанным действительными составитель синтаксического анализатора

Поэтому я бы рекомендовал обновить версию для докеры, если вы хотите использовать формат файла 3.1.

В настоящий момент самый безопасный способ обновления докеры - это удалить его и переустановить.

rm /usr/local/bin/docker-compose 

Переустановка:

curl -L https://github.com/docker/compose/releases/download/1.11.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose 
chmod +x /usr/local/bin/docker-compose 
docker-compose --version 
docker-compose version 1.11.1, build 7c5d5e4 

Теперь не ошибка больше от формата файла. (Я не тестировал ваш .yml).

docker-compose up 
Starting compose_a_1 
Starting compose_b_1 
+0

Спасибо. По какой-то причине, ваш curl cmd-доза не работает для меня в ubuntu 16.04. Затем я обновил последнюю версию докеры, следуя руководству на официальном сайте здесь. https://docs.docker.com/compose/install/, который более или менее совпадает с приведенным выше. Но в curl cmd «>» изменится на «-o». – zhihong

+4

Ошибка также затрагивает версию 1.8.0; версия 1.16.1 работает и отлично работает на Ubuntu 16.04. Просто исправьте компонент версии пути выше, не можете вставить его явно в этот комментарий из-за отметок обратной кавычки:/ – chrisinmtown

+0

Не знаю причины, но команда 'curl' не выполняется. .. говорит, что разрешение отклонено. –

0

При использовании Linux/Ubuntu, Это может быть очевидным, но будьте осторожны, вы работаете как корень, например,

docker-compose -v 

дает

docker-compose version 1.8.0, build unknown 

против

sudo docker-compose -v 

дает

docker-compose version 1.17.1, build 6d101fb 

Кроме того, убедитесь докер-Compose и докер-машина в актуальном состоянии, как @lvthillo штатов

Смежные вопросы