Как запустить последние версии docker и docker-compose для разработки?

Как запустить последние версии docker и docker-compose для разработки?

Я пытаюсь выяснить, как запустить сборки docker и docker-compose вместе в Ubuntu 14.10, чтобы, надеюсь, исправить ошибку:https://github.com/docker/compose/pull/1349

Последняя версия разработки Docker

docker -v
# Docker version 1.7.0-dev, build 6a7a757

# docker-compose -v
docker-compose version: 1.3.0rc3
CPython version: 2.7.8
OpenSSL version: OpenSSL 1.0.1f 6 Jan 2014

Но докеру не нравится серверная версия

# which docker 
/usr/bin/docker
# sudo /usr/bin/docker -d & 
WARN[0000] Your kernel does not support swap memory limit. 
INFO[0000] Loading containers: start.                   
.......................................................................INFO[0000] No non-localhost DNS nameservers are left in resolv.conf. Using default external servers : [nameserver 8.8.8.8 nameserver 8.8.4.4] 
INFO[0000] No non-localhost DNS nameservers are left in resolv.conf. Using default external servers : [nameserver 8.8.8.8 nameserver 8.8.4.4] 
WARN[0000] Failed to allocate and map port 8080: Error starting userland proxy: listen tcp 0.0.0.0:8080: bind: address already in use 

INFO[0000] Loading containers: done.                    
INFO[0000] Daemon has completed initialization          
INFO[0000] Docker daemon                                 commit=6a7a757 execdriver=native-0.2 graphdriver=aufs version=1.7.0-dev

# ps auxf | grep docker
root     24854  0.0  0.0  73360  3800 pts/14   S    09:59   0:00          |       \_ sudo /usr/bin/docker -d
root     24866  0.0  0.1 439152 19556 pts/14   Sl   09:59   0:00          |       |   \_ /usr/bin/docker -d
root     24982  0.0  0.0 109264 14584 pts/14   Sl   09:59   0:00          |       |       \_ docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 32768 -container-ip 172.17.0.2 -container-port 29015
root     25102  0.0  0.1 109264 16552 pts/14   Sl   09:59   0:00          |       |       \_ docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 32769 -container-ip 172.17.0.2 -container-port 28015
root     25131  0.0  0.0 109264 14516 pts/14   Sl   09:59   0:00          |       |       \_ docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 32770 -container-ip 172.17.0.2 -container-port 8080

# docker ps
Error response from daemon: client and server don't have same version (client : 1.20, server: 1.15)

А текущий разрабатываемый релиз-кандидат docker-compose ожидает версию сервера 1.18

# which docker-compose 
/usr/local/bin/docker-compose
# docker-compose ps
client and server don't have same version (client : 1.18, server: 1.15)

Даже после остановки демона я все еще получаю то же самое сообщение об ошибке

# sudo killall docker
INFO[0288] Processing signal 'terminated' 
# docker ps
Error response from daemon: client and server don't have same version (client : 1.20, server: 1.15)

Я знаю, что могу понизить версию клиента Docker до версии 1.18, которую требует docker-compose, но я все еще не понимаю, почему версия сервера отображается как 1.15, когда тот же двоичный клиент имеет версию 1.20.

Дополнительный вопрос: почему клиент Docker продолжает получать сообщение о неверной версии сервера, когда демон Docker остановлен?

решение1

Попробуйте перезапустить службу Docker после обновления Docker ( sudo service docker restart). Это может быть причиной:

У вас все еще запущена старая версия Docker.

У меня была очень похожая проблема, я обновил Docker и продолжал получать то же самое сообщение об ошибке, пока не перезапустил службу.

решение2

Проблема в данном случае заключалась в том, что переменная среды $DOCKER_HOSTуказывала на другую систему, которая использовала другую версию, поэтому процессы не отображались psи API были несовместимы.

Удаление переменной unset DOCKER_HOSTрешило проблему.

Связанный контент