2017-02-02 2 views
1

Verwandte, aber nicht dupliziert: Docker - docker-compose 'version' doesn't have any configuration optionsCircleCI './docker-compose.yml' Service 'Version' hat keine Konfigurationsoptionen

Ich bin derzeit mit einem v2docker-compose.yml mit der folgenden 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 gibt die folgende Ausgabe:

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 

Ich habe versucht, die following solutions, die auf einem sehr aktuellen CircleCI Forum Post, aber ich habe es nicht geschafft, das Problem loszuwerden.

Antwort

7

Upgrade sowohl Docker und Docker-komponieren auf die neueste Version ist erforderlich:

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 

Warum beides?

Einige sagen, dass ein Upgrade auf die neueste Version Docker-Komponieren von pip genug ist, verwenden, aber anscheinend nicht (weil die aktuelle Version Docker Motor CircleCI unterstützt es zumindest nicht mehr nicht):

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.

Wenn Sie nur die Docker-Engine aktualisieren, macht dies keinen Unterschied, da eine höhere docker-compose-Version zum Parsen von v2 YAML-Dokumenten erforderlich ist.