Версия в. /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(в соответствии с примечаниями к выпуску)?
Ответы
Ответ 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