私は次のようにdocker composeを使用しています:
version: '3.7'
services:
couchdb:
image: "ibmcom/couchdb3:preview"
container_name: couch-api-test
ports:
- "5984:5984"
そしてここに私のドッカーのバージョンがあります:
+ docker version
Client:
Version: 18.03.0-ce
API version: 1.37
Go version: go1.9.4
Git commit: 0520e24
Built: Wed Mar 21 23:10:01 2018
OS/Arch: linux/AMD64
Experimental: false
Orchestrator: swarm
Server:
Engine:
Version: 18.03.0-ce
API version: 1.37 (minimum version 1.12)
Go version: go1.9.4
Git commit: 0520e24
Built: Wed Mar 21 23:08:31 2018
OS/Arch: linux/AMD64
Experimental: false
そして私のdocker-composeバージョンは:
docker-compose version 1.25.0, build 0a186604
docker-py version: 4.1.0
CPython version: 3.7.4
私のubuntu 16サーバーでdocker-composeを実行すると、次のようになります。
client version 1.38 is too new. Maximum supported API version is 1.37", "stderr_lines": ["client version 1.38 is too new. Maximum supported API version is 1.37"
誰かがそれに光を当てることができますか?
docker-compose
クライアントによるAPI呼び出しは、クライアントが壊れないようにバージョン管理されています。たとえば、コンテナを作成するには、POST
を次のようにします。
/v1.36/containers/create?name=...
呼び出しに使用されるAPIバージョンは、docker-compose.yml
ファイルのversion
ディレクティブに基づいています。ドキュメントでdocker-composeファイル形式とAPIの対応を見つけることができませんでしたが、バージョン3.7のAPIバージョンは1.38であると想定しています。
18.03.0-ce docker engineリリースは、この互換性マトリックスに従って、3.6までの構成ファイル形式およびAPIバージョン1.37と互換性があります。 ファイル構成のバージョンとアップグレード
問題は、docker-composeクライアントがエンジンよりも新しく、3.7形式を理解していますが、この形式はエンジンと互換性がないということです。正常に動作させるには、version: '3.6'
を使用するか、エンジンをバージョン18.06.0以降に更新してください
お役に立てれば。