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
5 Réponses :
Changer la version en guillemets doubles, cela a fonctionné pour moi. version: "3.3"
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.
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.
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.
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.
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
Je l'ai résolu en démarrant le service docker:
service docker start
Que
docker-compose-dev.yml
fichierdocker-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