CircleCI'./docker-compose.yml'服务'版本'没有任何configuration选项

相关但不重复 : Docker – docker-compose'version'没有任何configuration选项

我目前正在使用以下circle.ymlv2 docker-compose.yml circle.yml

 machine: services: - docker test: post: - docker build --rm=false -t zurfyx/repo:$CIRCLE_SHA1 . - docker-compose run web npm test deployment: hub: branch: master commands: - docker login -e $DOCKER_EMAIL -u $DOCKER_USER -p $DOCKER_PASS - docker push zurfyx/repo:$CIRCLE_SHA1 

CircleCI提供以下输出:

 docker-compose run web npm test ERROR: In file './docker-compose.yml' service 'version' doesn't have any configuration options. All top level keys in your docker-compose.yml must map to a dictionary of configuration options. docker-compose run web npm test returned exit code 1 

我尝试了在最近的CircleCI论坛上发布的以下解决scheme ,但是我没有设法解决这个问题。

升级Docker和Docker-compose到最新版本是必需的:

 machine: pre: - curl -sSL https://s3.amazonaws.com/circle-downloads/install-circleci-docker.sh | bash -s -- 1.10.0 - pip install --upgrade pip - pip install docker-compose services: - docker 

为什么呢?

有人说,通过使用pip升级docker-compose到最新版本就足够了,但显然不是(因为目前的Docker Engine CircleCI版本不支持它,至less不是):

错误:Docker引擎版本低于Compose所需的最小值。 您当前的项目需要1.10.0或更高版本的Docker引擎。

如果你只是升级Docker引擎,它没有什么区别,因为需要更高的docker-compose版本来分析v2 YAML文档。