docker エラー「Error response from daemon: client version x.xx is too new. Maximum supported API version is x.xx」が発生した場合の対処法

docker エラー「Error response from daemon: client version x.xx is too new. Maximum supported API version is x.xx」が発生した場合の対処法

docker実行時にエラー「Error response from daemon: client version x.xx is too new. Maximum supported API version is x.xx」が発生した場合の対処法を記述してます。

環境

  • OS CentOS 8.1.1911 (Core)
  • docker 19.03.9

エラー全文

docker pullした際に発生

Error response from daemon: client version 1.40 is too new. Maximum supported API version is 1.39

バージョン確認時も同様のエラーが発生します。

docker version

<出力結果>
Client: Docker Engine - Community
 Version:           19.03.9
 API version:       1.40
 Go version:        go1.13.10
 Git commit:        9d988398e7
 Built:             Fri May 15 00:25:27 2020
 OS/Arch:           linux/amd64
 Experimental:      false
Error response from daemon: client version 1.40 is too new. Maximum supported API version is 1.39

原因

クライアントとサーバーで利用しているAPIのバージョンが違うためのようです。

対処法

下記を実行してバージョンを合わせると改善されます。
※セッションを抜けると元に戻ります。永続化するかどうかは検討中

export DOCKER_API_VERSION=1.39

バージョンを確認すると、どちらのAPIのバージョンも同じことが確認できます。

docker version
Client: Docker Engine - Community
 Version:           19.03.9
 API version:       1.39
 Go version:        go1.13.10
 Git commit:        9d988398e7
 Built:             Fri May 15 00:25:27 2020
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          18.09.1
  API version:      1.39 (minimum version 1.12)
  Go version:       go1.10.6
  Git commit:       4c52b90
  Built:            Wed Jan  9 19:06:30 2019
  OS/Arch:          linux/amd64
  Experimental:     false