2015-01-01 10 views
5

docker-py 0.7.0 podaje następujący błąd w lokalnej instalacji Dockera w wersji Docker 1.3.2 i doker-py 0.7.0. iST hosta z systemem CentOS 6.6. Jak to może być stałe?docker-py: klient i serwer nie mają tej samej wersji (klient: 1.16, serwer: 1.15) ")

[email protected] myproject]$ bin/python d.py 
Traceback (most recent call last): 
    File "d.py", line 3, in <module> 
    c.create_container(image='zopyx/xmldirector-plone') 
    File "/home/xxxx/sandboxes/myproject/lib/python2.7/site-packages/docker/client.py", line 546, in create_container 
    return self.create_container_from_config(config, name) 
    File "/home/xxxx/sandboxes/myproject/lib/python2.7/site-packages/docker/client.py", line 554, in create_container_from_config 
    return self._result(res, True) 
    File "/home/xxxx/sandboxes/myproject/lib/python2.7/site-packages/docker/client.py", line 98, in _result 
    self._raise_for_status(response) 
    File "/home/xxxx/sandboxes/myproject/lib/python2.7/site-packages/docker/client.py", line 94, in _raise_for_status 
    raise errors.APIError(e, response, explanation=explanation) 
docker.errors.APIError: 404 Client Error: Not Found ("client and server don't have same version (client : 1.16, server: 1.15)") 

>>docker --version 
Docker version 1.3.2, build 39fa2fa/1.3.2 


>>docker version 
Client version: 1.3.2 
Client API version: 1.15 
Go version (client): go1.3.3 
Git commit (client): 39fa2fa/1.3.2 
OS/Arch (client): linux/amd64 
Server version: 1.3.2 
Server API version: 1.15 
Go version (server): go1.3.3 
Git commit (server): 39fa2fa/1.3.2 

Odpowiedz

2

mam ten sam problem wczoraj. Siła zainstalować doker-py = 0.6.0. Jeśli masz już 0.7.0 zainstalowany, musisz wyczyścić pamięć podręczną pip, pip inaczej zainstaluje 0.7.0 z pamięci podręcznej.

Cheers, W

1

Rozwiązanie jeśli wersja klienta jest nowsza niż wersja serwera:

że chcesz połączyć się z usługą Döcker tak:

docker_client = Client(base_url='tcp://127.0.0.1:2376') 
# Alternatively: 
# docker_client = Client(base_url='unix://var/run/docker.sock') 

Jeśli wersja klienta jest nowsza niż wersja serwera, co prowadzi do komunikatu o błędzie podobnego do tego:

docker.errors.NotFound: 404 Client Error: 
Not Found ("client and server don't have same version (client : 1.22, server: 1.18)") 

Problem można rozwiązać, ustawiając obiekt docker.Client na version property (zgodnie z sugestią @sredni). Biorąc pod uwagę powyższy błąd, musisz zmienić wiersz na:

docker_client = Client(base_url='tcp://127.0.0.1:2376', version='1.18')