2015-01-01 13 views
5

docker-py 0.7.0 mi dà il seguente errore su un'installazione Docker locale di Docker 1.3.2 e finestra mobile-py 0.7.0. L'ist host che esegue CentOS 6.6. Come può essere fisso?docker-py: client e server non hanno la stessa versione (client: 1.16, server: 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 

risposta

2

avuto lo stesso problema di ieri. Forza installare finestra mobile-py = 0.6.0. Se si dispone già di 0.7.0 installato, è necessario cancellare la cache pip, altrimenti pip installerà 0.7.0 dalla cache.

Cheers, W

1

Soluzione se la versione del client è più recente della versione del server:

dire che si desidera connettersi al servizio di finestra mobile come questo:

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

Se la versione client è più recente della versione del server, questo porta a un messaggio di errore come questo:

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

È possibile risolvere il problema impostando version property dell'oggetto docker.Client (come suggerito da @sredni). Dato l'errore sopra, è necessario modificare la linea in:

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