2
votes

docker-engine vers docker-compose vers docker compose la relation de fichier

Folks:

Merci d'avance pour votre temps et votre attention.

Quelle est la relation entre le fichier docker-compose.yml et l'exécutable cli docker-compose est l'information que j'essaye t?

Voici mon exemple.

$>docker-compose ${NO_ANSI} config -q


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/
version: "2.2"
services:
  database:
    image: "${DOCKER_REPO_NAME}.......

Maintenant, le fichier docker-compose.yml

XXX

Basé sur la documentation à https: //docs.docker .com / compose / compose-file , si la version de docker-engine est 17.04 , il doit prendre en charge la version de fichier docker-compose b > directive 3.2

Cependant, je vois cela. erreur

***** ERROR suit ******

$> docker version
Client:
 Version:      17.04.0-ce
 API version:  1.28
 Go version:   go1.7.5
 Git commit:   78d1802
 Built:        Tue May 30 18:21:18 2017
 OS/Arch:      linux/amd64

Server:
 Version:      17.04.0-ce
 API version:  1.28 (minimum version 1.12)
 Go version:   go1.7.5
 Git commit:   78d1802
 Built:        Tue May 30 18:21:18 2017
 OS/Arch:      linux/amd64
 Experimental: false

La question est donc de savoir ce que je fais mal?

-Narahari


0 commentaires

3 Réponses :


2
votes

Votre docker-compose est assez ancien et ne prend en charge que la version 2.1 des fichiers docker-compose.yml.

La version 2.2 est prise en charge par la version 1.13.0 ou supérieur.

Vous pouvez soit mettre à jour docker-compose (recommandé), soit rétrograder le .yml pour qu'il soit compatible v1 ou v2.1.

Dans le guide de référence .yml, il y a un tableau avec des notes de compatibilité.


1 commentaires

Hmm. Mais la directive de version 2.1 fonctionne avec docker-compose 1.9.



1
votes

Docker Compose version 1.9.0 ...

Présentation de la version 2.1 de la spécification docker-compose.yml . Ce doit être utilisée avec Docker Engine 1.12 ou supérieur.

Il semble que vous ayez besoin d'au moins Docker Compose 1.13.0 pour utiliser un fichier de composition avec la version: "2.2" . (Je ne vois pas cela clairement documenté ailleurs que sur les pages de version individuelles de GitHub.)


0 commentaires