Wie führe ich die neuesten Docker- und Docker-Compose-Entwicklungsversionen aus?

Wie führe ich die neuesten Docker- und Docker-Compose-Entwicklungsversionen aus?

Ich versuche herauszufinden, wie ich Entwicklungsbuilds von Docker und Docker-Compose zusammen auf Ubuntu 14.10 ausführen kann, um hoffentlich einen Fehler zu beheben:https://github.com/docker/compose/pull/1349

Neueste Docker-Entwicklungsversion

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

Aber Docker mag die Serverversion nicht

# 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)

Und der aktuelle Entwicklungs-Release-Kandidat Docker-Compose erwartet die Serverversion 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)

Auch nach dem Stoppen des Daemons erhalte ich immer noch die gleiche Fehlermeldung

# 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)

Ich weiß, dass ich den Docker-Client auf die Version 1.18 downgraden kann, die für Docker-Compose erforderlich ist, aber ich verstehe immer noch nicht, warum die Serverversion 1.15 gemeldet wird, wenn der gleiche Binärclient die Version 1.20 zu haben scheint.

Zusatzfrage: Wie kommt es, dass der Docker-Client weiterhin eine Meldung mit einer falschen Serverversion erhält, wenn der Docker-Daemon gestoppt ist?

Antwort1

Versuchen Sie, den Docker-Dienst nach dem Upgrade von Docker ( sudo service docker restart) neu zu starten. Dies kann folgende Ursachen haben:

Sie haben noch eine alte Version von Docker ausgeführt.

Ich hatte ein sehr ähnliches Problem, habe Docker aktualisiert und erhielt immer wieder die gleiche Fehlermeldung, bis ich den Dienst neu gestartet habe.

Antwort2

Das Problem in diesem Fall bestand darin, dass die Umgebungsvariable $DOCKER_HOSTauf ein anderes System verwies, das eine andere Version verwendete, weshalb keine Prozesse angezeigt wurden psund es zu inkompatiblen APIs kam.

Durch das Entfernen der Variable unset DOCKER_HOSTwurde das Problem behoben.

verwandte Informationen