Version in docker-compose is unsupported

2019-06-22 10:01发布

I try to install this docker-compose configuration. As you can see, it has version 3. When I run this with docker-compose build --pull, I got this error:

ERROR: Version in "./docker-compose.yml" is unsupported. 
You might be seeing this error because you're using the wrong Compose file version. 
Either specify a version of "2" (or "2.0") and place your service definitions 
under the `services` key, or omit the `version` key and place your service definitions at the root of the file to use version 1.
For more on the Compose file format versions, see https://docs.docker.com/compose/compose-file/

If I remove version from .yml, then I get such error:

ERROR: The Compose file './docker-compose.yml' is invalid because:
Unsupported config option for volumes: 'conf.d'
Unsupported config option for services: 'letsencrypt-companion'
Unsupported config option for networks: 'proxy-tier'

After reading documentation my first thoughts was about version incompatibility. So I've updated docker to 17.9.1-ce.
And here is version of docker-compose:

docker-compose version 1.8.0, build unknown

But errors are the same and I really have no idea about this. Operation System: Ubuntu 17.10.

1条回答
淡お忘
2楼-- · 2019-06-22 10:07

You need to upgrade docker compose and possibly the docker engine. Docker compose 3.0 files require docker engine version 1.13.0+ (and that version of compose). For more information see: https://docs.docker.com/compose/compose-file/, specifically the Compose and Docker Engine compatibility matrix.

Please note that version 1.18.0 comes after versions 1.8.0. It's version 1.18.0, not version 1.1.8.0. The minor version number just keeps increasing (e.g. 1.8.0 -> 1.9.0 -> 1.10.0 -> 1.11.0).

The latest version (when writing this) is 1.18, released on December 19 2017, 1.8 was released on July 27 2017 (https://github.com/docker/compose/releases). You are using an old version of docker that is not compatible with docker-compose 3 files.

Also, they changed the numbering of the docker enigines to reflect the release date: 17.9.0 is the September 2017 release (first number is the year, second number is the month).

查看更多
登录 后发表回答