Compose: docker-compose échoue avec AttributeError : l'objet 'module' n'a pas d'attribut 'get_config_header'

Créé le 25 janv. 2017  ·  3Commentaires  ·  Source: docker/compose

J'ai récemment mis à niveau vers docker version 1.13 et docker-compose 1.10.0.
Lorsque vous utilisez un fichier de composition docker (version 2 ou version 3), les commandes docker-compose up docker-compose pull <service_name> j'obtiens l'erreur suivante :

$ docker-composer
Extraction de myredis (redis:latest)...
Traceback (appel le plus récent en dernier) :
Fichier "/usr/local/bin/docker-compose", ligne 11, dans
sys.exit(main())
Fichier "/usr/local/lib/python2.7/dist-packages/compose/cli/main.py", ligne 64, dans main
commander()
Fichier "/usr/local/lib/python2.7/dist-packages/compose/cli/main.py", ligne 116, dans perform_command
gestionnaire (commande, options_commande)
Fichier "/usr/local/lib/python2.7/dist-packages/compose/cli/main.py", ligne 848, en haut
remove_orphans=remove_orphans)
Fichier "/usr/local/lib/python2.7/dist-packages/compose/project.py", ligne 389, en haut
svc.ensure_image_exists(do_build=do_build)
Fichier "/usr/local/lib/python2.7/dist-packages/compose/service.py", ligne 312, dans assurer_image_exists
self.pull()
Fichier "/usr/local/lib/python2.7/dist-packages/compose/service.py", ligne 878, en pull
output = self.client.pull(repo, tag=tag, stream=True)
Fichier "/usr/local/lib/python2.7/dist-packages/docker/api/image.py", ligne 333, en pull
header = auth.get_config_header(self, registre)
AttributeError : l'objet 'module' n'a pas d'attribut 'get_config_header'

Voici mes fichiers de composition, notez que les versions 2 et 3 échouent avec la même erreur.

~/Téléchargements $ cat docker-compose.yml
version: '2'
services:
myredis:
image: redis:alpine

~/Téléchargements $ cat docker-compose.yml
version: '3'
services:
myredis:
image: redis:alpine

~/Télécharge la version $ docker
Client:
Version : 1.13.0
Version de l'API : 1.25
Version Go : go1.7.3
Validation Git : 49bf474
Construit: mar. 17 janvier 09:58:26 2017
OS/Arch : linux/amd64

Serveur:
Version : 1.13.0
Version API : 1.25 (version minimale 1.12)
Version Go : go1.7.3
Validation Git : 49bf474
Construit: mar. 17 janvier 09:58:26 2017
OS/Arch : linux/amd64
Expérimental : faux

~/Télécharge les informations $ docker
AVERTISSEMENT : aucune prise en charge de la limite d'échange
Conteneurs : 5
En cours d'exécution : 0
En pause : 0
Arrêté : 5
Images : 59
Version du serveur : 1.13.0
Pilote de stockage : aufs
Répertoire racine : /var/lib/docker/aufs
Système de fichiers de sauvegarde : extfs
Répertoire : 104
Dirperm1 pris en charge : vrai
Pilote de journalisation : fichier json
Pilote de groupe de contrôle : cgroupfs
Plugins :
Volume : local
Réseau : hôte de pont macvlan null overlay
Essaim : inactif
Temps d'exécution : runc
Temps d'exécution par défaut : runc
Init binaire : docker-init
version conteneur : 03e5862ec0d8d3b3f750e19fca3ee367e13c090e
version runc : 2f7393a47307a16f8cee44a37b262e8b81021e3e
version initiale : 949e6fa
Options de sécurité:
l'apparence
seccomp
Profil : par défaut
Version du noyau : 4.4.0-53-generic
Système d'exploitation : Ubuntu 16.04.1 LTS
Type de système d'exploitation : Linux
Architecture : x86_64
Processeurs : 8
Mémoire totale : 15,55 Gio
Nom : SUPPRIMÉ
ID : EWM5 : UMNC:4KLA : MYJK:FZ7F : JSKE:D2NB : CICK:KL33 : QWEE:9000 :K6OJ
Répertoire racine Docker : /var/lib/docker
Mode de débogage (client) : faux
Mode de débogage (serveur) : faux
Nom d'utilisateur : SUPPRIMÉ
Registre : https://index.docker.io/v1/
Expérimental : faux
Registres non sécurisés :
127.0.0.0/8
Restauration en direct activée : faux

~/Télécharge la version $ docker-compose
docker-compose version 1.10.0, build 4bd6f1a
version docker-py : 2.0.2
Version de Python : 2.7.12
Version OpenSSL : OpenSSL 1.0.2g 1er mars 2016

~/Télécharge $ uname -ra
Linux SUPPRIMÉ 4.4.0-53-generic #74-Ubuntu SMP vendredi 2 décembre 15:59:10 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

~/Téléchargements $ lsb_release -ar
Identifiant du distributeur : Ubuntu
Description : Ubuntu 16.04.1 LTS
Sortie : 16.04
Nom de code : xenial
Aucun module LSB n'est disponible.

docker par lui-même (sans docker-compose) semble fonctionner correctement :

~/Téléchargements $ docker run -it redis:alpine
Impossible de trouver l'image " redis:alpine " localement
alpin : Extraire de la bibliothèque/redis
0a8490d0dfd3 : extraction terminée
c8d0e817ebe2 : extraction terminée
7f2a4f935feb : Tirez terminé
0b43e209f780 : extraction terminée
b06b9be4b2bc : extraction terminée
5de037257f43 : Tirez terminé
Résumé : sha256:a06a61747e4a7b46788e2813b21ea6b06386df8e238e56f51f8793adb48f0a8b
Statut : Image plus récente téléchargée pour redis:alpine
1:C 25 Jan 08:59:26.533 # Attention : aucun fichier de configuration spécifié, utilisant la configuration par défaut. Afin de spécifier un fichier de configuration, utilisez redis-server /path/to/redis.conf
_._
_.- __ ''-._ _.- . _. ''-._ Redis 3.2.6 (00000000/0) 64 bits
.-`` .- . \/ _.,_ ''-._
....
...
..

Commentaire le plus utile

Je l'ai finalement réparé, je ne sais pas ce qui a fonctionné :wink: J'ai juste détruit les choses avec du feu et les choses sont revenues à la normale.
Les codes de lancement nuke que j'ai utilisés sont :
docker stop $(docker ps -a -q) # arrêter tous les conteneurs docker
docker rm -f $(docker ps -a -q) # supprimer tous les conteneurs docker
docker images -q | xargs docker rmi -f # supprimer toutes les images Docker
sudo pip uninstall docker-compose # désinstaller docker-compose

Puis réinstallé docker-compose :
sudo pip install -U docker-compose

Tous les 3 commentaires

Je l'ai finalement réparé, je ne sais pas ce qui a fonctionné :wink: J'ai juste détruit les choses avec du feu et les choses sont revenues à la normale.
Les codes de lancement nuke que j'ai utilisés sont :
docker stop $(docker ps -a -q) # arrêter tous les conteneurs docker
docker rm -f $(docker ps -a -q) # supprimer tous les conteneurs docker
docker images -q | xargs docker rmi -f # supprimer toutes les images Docker
sudo pip uninstall docker-compose # désinstaller docker-compose

Puis réinstallé docker-compose :
sudo pip install -U docker-compose

J'ai eu une erreur similaire en exécutant la commande "docker-compose" sur centos7.
J'ai redémarré le serveur et cela fonctionne à nouveau. Cependant, le problème se reproduit de temps en temps.

Cette page vous a été utile?
0 / 5 - 0 notes