2015-04-19 41 views
31

docker version打印:泊塢窗,構成了導致「客戶端和服務器不具有相同的版本(客戶端:1.14,服務器:1.12)」錯誤,但客戶端和服務器具有相同的版本

Client version: 1.0.1 
Client API version: 1.12 
Go version (client): go1.2.1 
Git commit (client): 990021a 
Server version: 1.0.1 
Server API version: 1.12 
Go version (server): go1.2.1 
Git commit (server): 990021a 

docker-compose --version打印:與

docker-compose 1.2.0 

我裝碼頭工人與apt-get install docker.io和碼頭工人,組成

curl -L https://github.com/docker/compose/releases/download/1.2.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose 
chmod +x /usr/local/bin/docker-compose 

我使用Ubuntu 14.04 x64。

回答

10

我認爲你只需要使用更新版本的Docker。據推測,客戶端版本1.14在Compose內部使用。

卸載apt-get的版本,並按照泊塢窗網站上的說明來安裝多克:

wget -qO- https://get.docker.com/ | sh 
+0

我做到了,當我嘗試使用它時,我得到'-bash:/ usr/local/bin/docker:沒有這樣的文件或目錄' – Donovan

+0

您是否刪除了以前的版本?您可能只需要登錄和註銷。無論如何,該腳本應該已經安裝了lxc-docker軟件包。 –

+0

它會安裝它,但我無法使用它。我得到那個錯誤。 – Donovan

2

嘗試升級泊塢(sudo service docker restart)後重新啓動泊塢窗服務。

我有一個非常類似的問題,升級了Docker,並一直運行到相同的錯誤消息,直到我重新啓動服務。 (請參閱https://serverfault.com/a/700707/295500。)

14

這是docker-compose使用的docker API版本高於docker守護程序偵聽服務的問題。

最簡單的解決方法是使用較舊版本的docker-compose。

這裏是我的榜樣,但不同的版本不匹配:

$ docker-compose up 

client and server don't have same version (client : 1.18, server: 1.17) 

要解決它,我必須安裝使用泊塢窗,撰寫的較低版本(1.2版,而不是最新的1.3版本)以下命令

curl -L https://github.com/docker/compose/releases/download/1.2.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose`` 

chmod +x /usr/local/bin/docker-compose` 

你可以找到不同的版本在 https://github.com/docker/compose/releases

根據您的服務器版本泊塢窗,撰寫,您需要嘗試使用不同的較低版本的docker-compose,直到有效。

0

我在我的Mac上遇到了同樣的問題 - 幾個月前,我通過brew安裝了docker,boot2docker和docker-compose(以前的無花果)。在我和碼頭工玩了一段時間之後,我因爲某種原因離開了它。現在新的docker-toolboxdocker-machine發揮作用,我「只是」想使用預先配置的碼頭文件並說「上」。我得到了上面的錯誤。

我嘗試了所有我在網上發現的東西 - 也是降級選項(這對我來說並不合適)。解決了所有的事情,只是通過homebrew cask安裝新docker-toolbox,並用下面的命令升級我的搬運工-VM:

docker-machine upgrade docker-dev

其中「泊塢窗-dev的」是你的泊塢窗虛擬機名稱在VirtualBox中(開始它,看到正確的名字)。

現在碼頭再次運行良好,docker version命令帶來正常設置的輸出。

44

簽出環境變量COMPOSE_API_VERSION

我得到ERROR: client and server don't have same version (client : 1.19, server: 1.18),然後我做了export COMPOSE_API_VERSION=1.18和問題!

+0

謝謝,保存了很多我的時間 – punov

+0

,修復了所有問題,謝謝。 – kawashita86

+0

救了一天! –

2

可以降級泊塢窗,撰寫版本,如果你已經installled您的碼頭工人,組成:

pip install docker-compose

您可以通過先卸載它:

pip uninstall docker-compose

然後,你可以運行:

pip install docker-compose==1.3.0

,如果你泊塢窗,撰寫了起來,仍然顯示了類似的信息,您可以將其卸載(由pip uninstall docker-compose),並安裝低版本的碼頭工人,撰寫,如:

pip install docker-compose==1.2.0

你可以去循環,如果仍然顯示錯誤的信息。

PS:詳細版本號可以在https://github.com/docker/compose/releases

+1

@ hba的回答只能在短時間內解決問題,如果重啓,它會再次出現 – dongzhuoyao

2

發現由於碼頭工人,撰寫1.4,您可以設置客戶端API的版本,你沒有降級的客戶端或升級服務器。

您不必設置特定的API版本,您可以設置環境變量COMPOSE_API_VERSION=auto以使其自動檢測客戶端版本。

1

我嘗試了很多解決方案,但是當我使用sudo apt-get upgrade docker-engine時,我看到消息說我已安裝不同名稱的碼頭作爲docker-ce。在我用sudo apt-get upgrade docker-ce修復之後。

相關問題