Подтвердить что ты не робот

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

Вот мой файл docker-compose.yml:

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.

Моя версия для док-станции:

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

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

4b9b3361

Ответ 1

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

Уже существует новая версия docker-compose (1.11.1), которая включает исправление:

Исправление ошибок

Исправлена ошибка, при которой формат файла 3.1 не распознавался как допустимый синтаксическим анализатором Compose.

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

На данный момент самый безопасный способ обновить docker-compose - это удалить его и переустановить.

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

Ответ 2

Я решил проблему путем обновления docker-compose.

Выполнены следующие шаги для обновления docker-compose в Ubuntu16.04

шаг 1:

$which docker-compose
/usr/bin/docker-compose

шаг 2:

$sudo rm /usr/bin/docker-compose

шаг 3:

curl -L https://github.com/docker/compose/releases/download/1.20.0/docker-compose-'uname -s'-'uname -m' -o /usr/bin/docker-compose

step4:

chmod +x /usr/bin/docker-compose

Ответ 3

Если используется linux/ubuntu, это, возможно, очевидно, но будьте осторожны, вы запускаете его как root, например.

docker-compose -v

дает

docker-compose version 1.8.0, build unknown

против

sudo docker-compose -v 

дает

docker-compose version 1.17.1, build 6d101fb

Также убедитесь, что docker-compose и docker-machine обновлены до состояния @lvthillo.

Ответ 4

Я делал docker-compose --version до внедрения решения lvthillo, и у меня все еще появлялись устаревшие версии. Оказалось, мне нужно очистить список хешей, за которым держалась моя оболочка bash. hash -r... надеюсь, что это будет полезно для кого-то еще

Ответ 5

попробуйте удалить старую версию и переустановить.

sudo apt remove docker-compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.22.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
reboot

следует распечатать

docker-compose --version
docker-compose version 1.22.0, build 1719ceb

Ответ 6

Мы не можем сказать вам, не наблюдая за конкретной ошибкой, сначала проверьте ее с помощью этой команды

docker build. Когда вы получили сообщение об ошибке, найдите его в Google, в моем случае это была ошибка разрешения, когда я попробовал с sudo, это сработало.

Надеюсь, это поможет вам

Ответ 7

На osx 10.12.6 sierra

Шаги для v1.22 или выше

У меня была конкретная проблема/несовместимость, когда я не хотел полностью обновлять докер. В данный момент я застрял на докере 17.06.0-ce -m ac18. Поэтому я просто хотел обновить docker-compose и ничего больше.

Мои шаги:

  • Определить местоположение docker-compose: which docker-compose
  • Определить версию docker-compose: docker-compose --version= docker-compose version 1.14.0, build c7bdf9e
  • резервное копирование предыдущего docker-compose?: mv/usr/local/bin/docker-compose/usr/local/bin/docker-compose-bak
  • заменить на curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-'uname -s'-'uname -m' >/usr/local/bin/docker-compose
  • если вам нужно определить последнюю версию, просто проверьте https://github.com/docker/compose/releases и замените вышеприведенную версию последней.
  • проверить версию: docker-compose --version= docker-compose version 1.22.0, build f46880f