Compose: docker-compose falha com AttributeError: o objeto 'module' não tem atributo 'get_config_header'

Criado em 25 jan. 2017  ·  3Comentários  ·  Fonte: docker/compose

Recentemente, atualizei para o docker versão 1.13 e docker-compose 1.10.0.
Ao usar um arquivo de composição do docker (versão 2 ou versão 3), os comandos docker-compose up docker-compose pull <service_name> recebo o seguinte erro:

$ docker-compose up
Puxando myredis (redis:latest)...
Traceback (última chamada mais recente):
Arquivo "/usr/local/bin/docker-compose", linha 11, em
sys.exit(main())
Arquivo "/usr/local/lib/python2.7/dist-packages/compose/cli/main.py", linha 64, em main
comando()
Arquivo "/usr/local/lib/python2.7/dist-packages/compose/cli/main.py", linha 116, em perform_command
handler(comando, command_options)
Arquivo "/usr/local/lib/python2.7/dist-packages/compose/cli/main.py", linha 848, em up
remove_orphans=remove_orphans)
Arquivo "/usr/local/lib/python2.7/dist-packages/compose/project.py", linha 389, em up
svc.ensure_image_exists(do_build=do_build)
Arquivo "/usr/local/lib/python2.7/dist-packages/compose/service.py", linha 312, em sure_image_exists
self.pull()
Arquivo "/usr/local/lib/python2.7/dist-packages/compose/service.py", linha 878, em pull
output = self.client.pull(repo, tag=tag, stream=True)
Arquivo "/usr/local/lib/python2.7/dist-packages/docker/api/image.py", linha 333, em pull
header = auth.get_config_header(self, registro)
AttributeError: objeto 'module' não tem atributo 'get_config_header'

Aqui estão meus arquivos de composição, observe que as versões 2 e 3 falham com o mesmo erro.

~/Downloads $ cat docker-compose.yml
version: '2'
services:
myredis:
image: redis:alpine

~/Downloads $ cat docker-compose.yml
version: '3'
services:
myredis:
image: redis:alpine

~/Downloads $ versão docker
Cliente:
Versão: 1.13.0
Versão da API: 1.25
Versão Go: go1.7.3
Git commit: 49bf474
Construído: Ter, 17 de janeiro 09:58:26 2017
SO/Arch: linux/amd64

Servidor:
Versão: 1.13.0
Versão da API: 1.25 (versão mínima 1.12)
Versão Go: go1.7.3
Git commit: 49bf474
Construído: Ter, 17 de janeiro 09:58:26 2017
SO/Arch: linux/amd64
Experimental: falso

~/Downloads $ informações do docker
AVISO: Sem suporte para limite de troca
Recipientes: 5
Em execução: 0
Pausado: 0
Parado: 5
Imagens: 59
Versão do servidor: 1.13.0
Driver de armazenamento: aufs
Diretório raiz: /var/lib/docker/aufs
Sistema de arquivos de apoio: extfs
Dir: 104
Dirperm1 Suportado: true
Driver de registro: arquivo json
Driver do Cgroup: cgroupfs
Plug-ins:
Volume: local
Rede: sobreposição nula macvlan do host da ponte
Enxame: inativo
Tempos de execução: runc
Tempo de execução padrão: runc
Binário de inicialização: docker-init
versão do containerd: 03e5862ec0d8d3b3f750e19fca3ee367e13c090e
versão runc: 2f7393a47307a16f8cee44a37b262e8b81021e3e
versão de inicialização: 949e6fa
Opções de segurança:
aparato
segundo
Perfil: padrão
Versão do kernel: 4.4.0-53-generic
Sistema operacional: Ubuntu 16.04.1 LTS
Tipo de SO: linux
Arquitetura: x86_64
CPUs: 8
Memória Total: 15,55 GiB
Nome: REDIGIDO
ID: EWM5: UMNC:4KLA : MYJK:FZ7F : JSKE:D2NB : CICK:KL33 : QWEE:9000 :K6OJ
Diretório raiz do docker: /var/lib/docker
Modo de depuração (cliente): false
Modo de depuração (servidor): false
Nome de usuário: REDIGIDO
Registro: https://index.docker.io/v1/
Experimental: falso
Registros inseguros:
127.0.0.0/8
Restauração ao vivo habilitada: false

~/Downloads $ versão do docker-compose
docker-compose versão 1.10.0, compilação 4bd6f1a
versão docker-py: 2.0.2
Versão do CPython: 2.7.12
Versão do OpenSSL: OpenSSL 1.0.2g 1 de março de 2016

~/Downloads $ uname -ra
Linux REDIGIDO 4.4.0-53-generic #74-Ubuntu SMP Sex 2 de dezembro 15:59:10 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

~/Downloads $ lsb_release -ar
ID do Distribuidor: Ubuntu
Descrição: Ubuntu 16.04.1 LTS
Lançamento: 16.04
Codinome: xenial
Nenhum módulo LSB está disponível.

docker por si só (sem docker-compose) parece funcionar bem:

~/Downloads $ docker run -it redis:alpine
Não foi possível encontrar a imagem ' redis:alpine ' localmente
alpine: Puxando da biblioteca/redis
0a8490d0dfd3: Extração concluída
c8d0e817ebe2: Extração concluída
7f2a4f935feb: Extração concluída
0b43e209f780: Extração concluída
b06b9be4b2bc: Puxe completa
5de037257f43: Puxe completa
Resumo: sha256:a06a61747e4a7b46788e2813b21ea6b06386df8e238e56f51f8793adb48f0a8b
Status: imagem mais recente baixada para redis:alpine
1:C 25 Jan 08:59:26.533 # Aviso: nenhum arquivo de configuração especificado, usando a configuração padrão. Para especificar um arquivo de configuração, use redis-server /path/to/redis.conf
_._
_.- __ ''-._ _.- . _. ''-._ Redis 3.2.6 (00000000/0) 64 bits
.-`` .- . \/ _.,_ ''-._
....
...
..

Comentários muito úteis

Eu finalmente consertei, não sei o que funcionou :wink: Eu apenas detonei as coisas com fogo e as coisas voltaram ao normal.
Os códigos de lançamento do nuke que usei são:
docker stop $(docker ps -a -q) # pare todos os contêineres do docker
docker rm -f $(docker ps -a -q) # remove todos os contêineres do docker
docker images -q | xargs docker rmi -f # remove todas as imagens do docker
sudo pip uninstall docker-compose # desinstalar docker-compose

Em seguida, reinstalei o docker-compose:
sudo pip install -U docker-compose

Todos 3 comentários

Eu finalmente consertei, não sei o que funcionou :wink: Eu apenas detonei as coisas com fogo e as coisas voltaram ao normal.
Os códigos de lançamento do nuke que usei são:
docker stop $(docker ps -a -q) # pare todos os contêineres do docker
docker rm -f $(docker ps -a -q) # remove todos os contêineres do docker
docker images -q | xargs docker rmi -f # remove todas as imagens do docker
sudo pip uninstall docker-compose # desinstalar docker-compose

Em seguida, reinstalei o docker-compose:
sudo pip install -U docker-compose

Eu tive um erro semelhante apenas executando o comando "docker-compose" no centos7.
Reiniciei o servidor e voltou a funcionar. No entanto, o problema ocorre novamente de tempos em tempos.

Esta página foi útil?
0 / 5 - 0 avaliações