Вот мой файл 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-compose не должна поддерживать v3.1 спецификации docker-compose.yml (согласно примечаниям к выпуску , да)?
docker-compose
Эрик
источник
источник
docker-compose
а неdocker compose
docker-compose
ноDocker Compose
это технология .. docs.docker.com/compose"3.6"
. Мой докер18.03.0-ce, build 0520e24
Ответы:
Вы все делаете правильно и должно работать. Но в docker-compose 1.11.0 была ошибка, из -за которой формат файла 3.1 не распознавался как действительный. (3.0 работает).
Уже существует новый выпуск docker-compose (1.11.1), который включает исправление ошибки:
Поэтому я бы рекомендовал обновить вашу версию docker-compose, если вы хотите использовать формат файла 3.1.
На данный момент самый безопасный способ обновить docker-compose - это удалить и переустановить.
Переустановить:
Теперь ошибки в формате файла больше нет. (С вашим .yml не тестировал).
источник
curl
команда не выполняется. .. говорит, что в разрешении отказано.curl
команды, попробуйте следующее: docs.docker.com/compose/install/#install-composeЯ решил проблему, обновив docker-compose.
Выполнены следующие шаги для обновления docker-compose в ubuntu16.04
шаг 1:
шаг 2:
шаг 3:
step4:
источник
sudo apt install docker-compose
скажите, что у меня уже есть версия, иdocker-compose up
скажите, что у меня не установлен docker-compose. Почему вы, ребята, не пользуетесь apt? У меня сейчас две проблемы.Если версия вашего файла - 3.7, и вы получаете следующую ошибку:
Вот решение: -
(1)
sudo apt-get remove docker-compose
ИЛИsudo rm /usr/local/bin/docker-compose
(2)
sudo curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
(3)
sudo chmod +x /usr/local/bin/docker-compose
(4)
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
Надеюсь, это решит проблему.
источник
Если вы используете linux / ubuntu , это может быть очевидно, но будьте осторожны при запуске как root, например
Дает
против
Дает
Также убедитесь , докер-Compose и докер-машина в актуальном состоянии, как @lvthillo государств
источник
Я сделал это
docker-compose --version
до внедрения решения lvthillo, и у меня все еще появлялись устаревшие версии. Оказалось, что мне нужно очистить список хэшей, за который держалась моя оболочка bash.hash -r
... надеюсь, что это будет полезно для кого-то ещеисточник
попробуйте удалить старую версию и переустановить.
следует распечатать
источник
Мы не можем сказать вам, не наблюдая за конкретной ошибкой, сначала проверьте ее, выполнив эту команду
docker build .
когда вы получили ошибку, выполните поиск в Google. В моем случае это была ошибка разрешения, когда я попробовал ее с помощью sudo, она сработала.Надеюсь, это поможет тебе
источник
На osx 10.12.6 sierra
Шаги для версии 1.22 или выше
У меня была конкретная проблема / несовместимость, когда я не хотел полностью обновлять докер. Я застрял на докере 17.06.0-ce-mac18. Так что я просто хотел обновить docker-compose и ничего больше.
Мои шаги:
which docker-compose
docker-compose --version
=docker-compose version 1.14.0, build c7bdf9e
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
docker-compose --version
=docker-compose version 1.22.0, build f46880f
источник