4
votes

Échec de l'exécution du script docker-compose

J'utilise mac 10.11.6 El capitan et j'ai installé la boîte à outils docker et j'essaie d'utiliser l'option de construction de docker compose mais je lance quelques erreurs comme suit,

version: '3.3'

services:

  users:
    build:
      context: ./
      dockerfile: Dockerfile-dev
    volumes:
      - './:/usr/src/app'
    ports:
      - 5001:5000
    environment:
      - FLASK_APP=project/__init__.py
      - FLASK_ENV=development

Le contenu du fichier yml

kj$ docker-compose -f docker-compose-dev.yml build
Traceback (most recent call last):
  File "docker-compose", line 6, in <module>
  File "compose/cli/main.py", line 71, in main
  File "compose/cli/main.py", line 124, in perform_command
  File "compose/cli/command.py", line 41, in project_from_options
  File "compose/cli/command.py", line 113, in get_project
  File "compose/config/config.py", line 380, in load
  File "compose/config/config.py", line 380, in <listcomp>
  File "compose/config/config.py", line 513, in process_config_file
  File "compose/config/config.py", line 221, in get_service_dicts
  File "distutils/version.py", line 46, in __eq__
  File "distutils/version.py", line 337, in _cmp
TypeError: '<' not supported between instances of 'str' and 'int'
[83046] Failed to execute script docker-compose

Je ne suis pas sûr de la cause de ce problème, veuillez donner vos suggestions, merci


3 commentaires

Que docker-compose-dev.yml fichier docker-compose-dev.yml ? Il semble que cela puisse être lié à un module Python.


Supprimez les nouvelles lignes vierges supplémentaires dans le fichier yaml


@Herman je n'ai pas de blanc supplémentaire


5 Réponses :


-1
votes

Changer la version en guillemets doubles, cela a fonctionné pour moi. version: "3.3"


1 commentaires

Quand j'ai copié de la version: "3.3" à partir d'un site, cela ne fonctionnait pas. Les guillemets doubles n'étaient pas interprétés dans ma machine. Donc, j'ai supprimé et tapé "et cela a fonctionné maintenant.



0
votes

Je viens de rencontrer ce problème ce matin sur MacOS 10.14.6 (18G87), que je viens de mettre à jour ce matin après que tout fonctionnait parfaitement hier.

J'ai découvert que l'un de mes fichiers compose.yml utilisait des guillemets simples autour de la version alors qu'il devrait s'agir de guillemets doubles. Cela a résolu le problème pour moi. Ce n'est pas un bogue avec Docker-compose.


0 commentaires

1
votes

De mon côté, j'ai réussi à résoudre ce problème par "Réinitialiser les paramètres d'usine", c'est-à-dire sous les préférences de docker.


0 commentaires

5
votes

La réponse à cette question est assez simple, cela m'est arrivé ce matin. Lorsque j'ai fini de travailler sur mon projet, j'ai fermé l'application docker pour Mac (principalement ce que l'erreur dit, c'est qu'elle ne peut pas obtenir la version API de Docker et / ou docker-compose). Assurez-vous que votre Docker pour ordinateur de bureau exécute tout le reste doit être revenu à la normale. Vérifiez cette image pour voir si le bureau Docker est en cours d'exécution.


1 commentaires

J'ai lu ceci, j'ai pensé quelle réponse pour les nuls, puis j'ai réalisé quelques minutes plus tard que c'était la réponse dont j'avais besoin! DOH



1
votes

Je l'ai résolu en démarrant le service docker:

service docker start


0 commentaires