77 votes

Docker-compose : Option de configuration non prise en charge pour le service service : 'web'

Je consulte la page de Démarrage de Docker Compose.

Dans l'étape 3, j'ai créé un fichier docker-compose.yml comme décrit :

version: '2'
services:
    web:
        build: .
        ports: 
            - "5000:5000"
        volumes: 
            - .:/code
        depends_on:
            - redis
    redis:
        image: redis

Mais lorsque j'exécute :

$ docker-compose up

J'obtiens l'erreur suivante :

Option de configuration non supportée pour le service : 'web'

Qu'est-ce que je fais mal ? Je n'arrive pas à comprendre ce qu'il se passe.

4 votes

Il semble que votre docker-compose soit trop ancien et ne supporte pas le format de configuration version 2. Que montre docker-compose --version ?

0 votes

Voici ce que je vois : version de docker-compose : 1.3.3, version de CPython : 2.7.6, version d'OpenSSL : OpenSSL 1.0.1f 6 Jan 2014

4 votes

Dans mon cas, le problème était un problème d'indentation qui a été causé parce que docker-compose.yml nécessite une indentation correcte.

65voto

larsks Points 23184

Le support du format de fichier compose version 2 a été introduit dans docker-compose version 1.6, publiée autour du mois de février de cette année.

Vous utilisez la version 1.3.3, datant de juillet 2015.

Vous devez mettre à jour vers une version plus récente pour utiliser les fichiers de configuration au format version 2.

52voto

ospider Points 1507

Étant donné que c'est le premier résultat sur Google en cherchant "docker-compose Unsupported config option for services", je voudrais ajouter que la raison la plus courante en 2020 est l'absence de version: "3".

Ajoutez simplement version: "3" au début de votre docker-compose.yml.

Depuis la docs:

Il existe actuellement trois versions du format de fichier Compose :

  1. Version 1, le format hérité. Cela est spécifié en omettant une clé de version à la racine du fichier YAML.
  2. Version 2.x. Cela est spécifié avec une entrée version: '2' ou version: '2.1', etc., à la racine du fichier YAML.
  3. Version 3.x, la dernière version recommandée, conçue pour être compatible entre Compose et le mode swarm du Docker Engine. Cela est spécifié avec une entrée version: '3' ou version: '3.1', etc., à la racine du fichier YAML.

1voto

Muteshi Points 406

Dans mon cas, j'avais utilisé une mauvaise indentation. Vérifiez l'indentation de votre fichier docker-compose pour vous assurer qu'elle est correcte.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X