Docker Compose 版本過高(Docker版本不匹配),降低docker-compose版本

YatHo發表於2018-01-12

通過docker-compose啟動容器,報錯:

ERROR: The Docker Engine version is less than the minimum required by Compose. Your current project requires a Docker Engine of version 1.10.0 or greater.

  

升級 Docker 過於麻煩,只能降 docker-compose 的版本。

先看一下我們已經安裝的 Docker 版本:

[root@Redmine-186 docker-compose]# docker -v
Docker version 1.7.1, build 786b29d/1.7.1

  經查 Docker Compose Github Docs,發現 docker-compose 1.5.2 版本是相容 Docker 1.7.1 的:Note that Compose 1.5.2 requires Docker 1.7.1 or later.

  好了,開始降級 docker-compose,先解除安裝:

# pip uninstall docker-compose

  

再安裝指定版本:

# pip install docker-compose==1.5.2

  至此,docker-compose 降版本成功!

docker-compose.yml 版本問題

解決完 docker-compse 版本問題適配之後,對著已有的 docker-compose.yml 執行“,會提示不能正常識別 docker-compose.yml 檔案中的內容。究其原因,是因為我們的 docker-compose 1.5.2 只支援 V1 版本的 docker-compose.yml ,那麼好,把現在 V2 版本的 docker-compose.yml 改成 V1 版本的格式。

V1 版本的 docker-compose.yml 只被支援到 docker-compose 1.6.x。再往後的 docker-compose 版本就不再支援 V1 版本的 docker-compose.yml。

先看文件:Compose file versions and upgrading

V1 版本的 docker-compose.yml 檔案格式主要區別就是: 
- 沒有開頭的 version 宣告 
- 沒有 services 宣告 
- 不支援 depends_on 
- 不支援命名的 volumes, networks, build arguments 宣告 
- 其他我沒用到的所以沒細究的區別

附錄

相關文章