web-dev-qa-db-ja.com

Docker-デーモンからのエラー応答:クライアントはサーバーよりも新しい

Docker Machineで新しいマシンを作成した後、次のエラーが表示されます。

enter image description here

$ docker ps
Error response from daemon: client is newer than server(client API version 1.21, server API version: 1.19)

どうすれば修正できますか?

28
docker-machine upgrade <your-machine>

トリックを行います。これは、私がしたように、RCを使用しておらず、マシンが新しく作成された場合でも発生する可能性があります。 ISOキャッシュの問題が原因です。エラーは this thread でコメントされています。

Dockerクライアントが1.9.xで、サーバーがdocker 1.8.xを実行している場合、エラーメッセージが表示されます。

40

誰かがこのエラーを見つけたが、docker-machineを使用していない場合、クライアント側の環境変数で古いAPIバージョンを指定することで問題を解決する別の方法があります。

export DOCKER_API_VERSION=<version>

例えば:

export DOCKER_API_VERSION=1.19

dockerコマンドを再試行します。

参照

31
techraf

Ubuntu distribでは、dockerがサービスとして実行されている場合、aptの更新後に発生します。クライアントは更新されますが、古いバージョンのサーバーはまだ実行中です。

この場合、単に以下を実行します。

Sudo service docker restart
11

Dockerクライアントをアップグレードすると、古いdocker-machine VMを使用できなくなります。実際にdocker-machine upgrade vm-nameで強制的にアップグレードできますが、coreos、atomic、rancherosなどのdocker Hostとして他のディストリビューション(boot2dockerを除く)で作業している場合、失敗する可能性があります。

Carinaを使用して、複数のdocker clientバージョンを管理しています。

$ curl -sL https://download.getcarina.com/dvm/latest/install.sh | sh(LinuxおよびMacインストール)でインストールし、dvm lsを実行してインストール済みバージョンをリストし、dvm install 1.9.0を実行してバージョンをインストールし、dvm use 1.8.1を実行してクライアントバージョンを変更します。

非常に簡単で強力です。 =)

注意:安全のため、実行する前にインターネットからダウンロードしたスクリプトの内部を常に確認してください。

それが役に立てば幸い

3
wsilva

どうやら、このエラーはdocker-machine「眠りに落ちる」が原因です。これが私のために解決する魔法のコマンドです:

$ docker-machine restart default

または、defaultをマシンの名前に置き換えます。結果は次のとおりです。

$ docker-machine restart default
Restarting "default"...
Restarted machines may have new IP addresses. You may need to re-run the `docker-machine env` command.

提案されているように、次のことが必要になる場合があります。

$ docker-machine env default
export DOCKER_TLS_VERIFY="1"
export DOCKER_Host="tcp://....."
export DOCKER_CERT_PATH=".../.docker/machine/machines/default"
export DOCKER_MACHINE_NAME="default"
# Run this command to configure your Shell:
# eval $(docker-machine env default)

そして、最終的にそのコマンドを実行します:

$ eval $(docker-machine env default)

今から動作するはずです。

1
Dmitri Zaitsev