Ответ 1
Оформить переменную окружения COMPOSE_API_VERSION.
Я получал ERROR: client and server don't have same version (client : 1.19, server: 1.18)
, тогда я сделал export COMPOSE_API_VERSION=1.18
и проблема sovled!
docker version
Отпечатки:
Client version: 1.0.1
Client API version: 1.12
Go version (client): go1.2.1
Git commit (client): 990021a
Server version: 1.0.1
Server API version: 1.12
Go version (server): go1.2.1
Git commit (server): 990021a
docker-compose --version
Отпечатки:
docker-compose 1.2.0
Я установил docker с apt-get install docker.io
и docker-compose с
curl -L https://github.com/docker/compose/releases/download/1.2.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
Я использую Ubuntu 14.04 x64.
Оформить переменную окружения COMPOSE_API_VERSION.
Я получал ERROR: client and server don't have same version (client : 1.19, server: 1.18)
, тогда я сделал export COMPOSE_API_VERSION=1.18
и проблема sovled!
Это проблема версии docker API, используемой докере-компоновкой, которая выше, чем у docker-демона, который слушает для обслуживания.
Самый простой способ исправить это - использовать более старую версию docker-compose.
Вот мой пример, но с разным несоответствием версии:
$ docker-compose up
client and server don't have same version (client : 1.18, server: 1.17)
Чтобы исправить это, мне пришлось установить более низкую версию docker-compose (версия 1.2 вместо последней версии 1.3), используя следующую команду
curl -L https://github.com/docker/compose/releases/download/1.2.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose``
chmod +x /usr/local/bin/docker-compose`
Вы можете найти другую версию docker-compose на https://github.com/docker/compose/releases
В зависимости от вашей версии сервера вам нужно попробовать другую нижнюю версию docker-compose до тех пор, пока она не будет работать.
Думаю, вам просто нужно использовать более новую версию Docker. Предположительно клиентская версия 1.14 используется внутри Compose.
Удалите версию apt-get и следуйте инструкциям на веб-сайте Docker, чтобы установить Docker:
wget -qO- https://get.docker.com/ | sh
Попробуйте перезагрузить службу докеров после обновления Docker (sudo service docker restart
).
У меня была очень похожая проблема, обновился Docker и продолжал работать в том же сообщении об ошибке, пока я не перезапустил службу. (См. https://serverfault.com/a/700707/295500.)
Поскольку docker-compose 1.4 вы можете установить версию клиентского API, вам не нужно понижать рейтинг клиента или обновлять сервер.
Вам также не нужно устанавливать конкретную версию API, вы можете установить переменную среды COMPOSE_API_VERSION=auto
, чтобы она автоматически обнаруживала версию клиента.
Я пробовал много решений, но когда я использовал sudo apt-get upgrade docker-engine
, я вижу сообщение, что я установил докер с другим именем docker-ce
. После того, как я зафиксировал с помощью sudo apt-get upgrade docker-ce
.
У меня была такая же проблема на моем Mac - несколько месяцев назад я установил docker, boot2docker und docker-compose (ранее fig) через brew. После того, как я играл с докером, я почему-то оставил его. Теперь в игру вступают новые docker-toolbox и докер-машина и я "просто" хотел использовать предварительно сконфигурированный файл докеров и сказать "вверх". Я получил ошибку выше.
Я пробовал все, что нашел в сети - также вариант понижения (который мне не понравился). Наконец-то это работало, было просто установить новый docker-toolbox через homebrew cask и обновите мой docker-vm с помощью следующих команд:
docker-machine upgrade docker-dev
Где "docker-dev" - ваше docker-vm-Name в Virtualbox (запустите его, чтобы увидеть правильное имя).
Теперь докер снова работает отлично, а команда docker version
выводит результат нормальной настройки.
вы можете понизить версию вашей докере-компоновки, если вы установили свою сборку докеров:
pip install docker-compose
вы можете сначала удалить его:
pip uninstall docker-compose
то вы можете запустить:
pip install docker-compose==1.3.0
если вы создаете докеры, по-прежнему показываете подобную информацию, вы можете удалить ее (через pip uninstall docker-compose
) и установить нижнюю версию docker-compose, например:
pip install docker-compose==1.2.0
вы можете продолжать цикл, если все еще отображаете неверную информацию.
ps: номер версии детали можно найти в https://github.com/docker/compose/releases