2015-01-01 23 views
5

docker-py 0.7.0, Docker 1.3.2 'un yerel bir Docker yüklemesine karşı aşağıdaki hatayı veriyor ve liman işçisi-py 0.7.0. CentOS 6.6 çalıştıran ana ist. Bu nasıl düzeltilebilir?docker-py: İstemci ve sunucu aynı sürüme sahip değil (istemci: 1.16, sunucu: 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 

cevap

2

dün aynı problem var. Kuvvet liman işçisi-py = 0.6.0 yükleyin. zaten 0.7.0 varsa yüklü, aksi takdirde pip senin önbellekten 0.7.0 kuracaktır, sizin pip önbelleği temizlemek gerekir.

Alkış,

W
1

Çözüm istemci sürümü sunucu sürümünden daha yeniyse:

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

istemci sürümü ise:

böyle senin liman işçisi hizmetine bağlanmak istediğini farz edelim Sunucu sürümünden daha yeni, bu gibi bir hata iletisine yol açar:

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

Sorunu docker.Client nesnesinin version property'unu (@sredni önerilen olarak) ayarlayarak çözebilirsiniz. Yukarıdaki hata verildiğinde, satırı şu şekilde değiştirmeniz gerekir:

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