Solucionado (ver solução)
Solucionado
(ver solução)
10
respostas

ERRO no docker-compose up

Bom dia, alguém pode me ajudar?

Estou executando meu arquivo docker-compose.yml e está aparecendo o seguinte erro:

Pulling db (mysql:5.7)...
Traceback (most recent call last):
  File "docker-compose", line 6, in <module>
  File "compose\cli\main.py", line 72, in main
  File "compose\cli\main.py", line 128, in perform_command
  File "compose\cli\main.py", line 1077, in up
  File "compose\cli\main.py", line 1073, in up
  File "compose\project.py", line 548, in up
  File "compose\service.py", line 361, in ensure_image_exists
  File "compose\service.py", line 1250, in pull
  File "compose\progress_stream.py", line 102, in get_digest_from_pull
  File "compose\service.py", line 1215, in _do_pull
  File "site-packages\docker\api\image.py", line 396, in pull
  File "site-packages\docker\auth.py", line 48, in get_config_header
  File "site-packages\docker\auth.py", line 324, in resolve_authconfig
  File "site-packages\docker\auth.py", line 235, in resolve_authconfig
  File "site-packages\docker\auth.py", line 264, in _resolve_authconfig_credstore
  File "site-packages\docker\credentials\store.py", line 35, in get
  File "site-packages\docker\credentials\store.py", line 93, in _execute
  File "site-packages\docker\credentials\errors.py", line 23, in process_store_error
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe3' in position 64: ordinal not in range(128)
[15148] Failed to execute script docker-compose

Arquivo docker-compose.yml:

version: '3.1'
services:

    wordpress:
        image: wordpress
        restart: always
        ports:
            - 8080:80
        environment:
            WORDPRESS_DB_HOST: db
            WORDPRESS_DB_USER: exampleuser
            WORDPRESS_DB_PASSWORD: examplepass
            WORDPRESS_DB_NAME: exampledb
        volumes:
            - wordpress:/var/www/html

    db:
        image: mysql:5.7
        restart: always
        environment:
            MYSQL_DATABASE: exampledb
            MYSQL_USER: exampleuser
            MYSQL_PASSWORD: examplepass
            MYSQL_RANDOM_ROOT_PASSWORD: '1'
        volumes:
            - db:/var/lib/mysql

volumes:
    wordpress:
    db:
10 respostas

Olá Carlos, tudo bem? Primeira coisa que devemos analisar são as versões, você poderia informar pra gente quais as versões do docker e do docker-compose que você está executando, as versões devem ser compatíveis, note que você declarou o Compose file format version: '3.1' porém é necessário que a versão do seu Docker Engine seja 1.13.1 ou superior?

Para ver as versões, basta usar os dois comandos:

docker -v
docker-compose -v

Outra coisa que você pode tentar é deixar todo o arquivo com 2 espaços como tabulação (percibe que no seu arquivo, você está usando 4 espaços), porque arquivos .yml são muito rigorosos na questão do espaçamento, o correto seria dessa forma:

version: '3.1'
services:

  wordpress:
    image: wordpress
    restart: always
    ports:
      - 8080:80
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: exampleuser
      WORDPRESS_DB_PASSWORD: examplepass
      WORDPRESS_DB_NAME: exampledb
    volumes:
      - wordpress:/var/www/html

  db:
    image: mysql:5.7
    restart: always
    environment:
      MYSQL_DATABASE: exampledb
      MYSQL_USER: exampleuser
      MYSQL_PASSWORD: examplepass
      MYSQL_RANDOM_ROOT_PASSWORD: '1'
    volumes:
      - db:/var/lib/mysql

volumes:
  wordpress:
  db:

Você pode tentar executar dessa forma, caso retorne o mesmo erro, você executar o comando abaixo:

docker-compose --verbose up

E informar a saída do mesmo aqui pra gente poder analisar melhor!

E ai Souza, blz? Cara ajustei as tabulações para 2 espaços

As versões são:

Docker version 19.03.5, build 633a0ea
docker-compose version 1.25.2, build 698e2846

Coloquei o log do verbose no Drive por que excedeu o limite de caracteres aqui.

docker-compose --verbose up

https://drive.google.com/open?id=1N_JyIlN7WywYICZ7yrrWvHtMXIsQsFzo

Ainda deu erro ao executar o docker-compose up -d? Porque executei aqui o mesmo arquivo com 2 espaços e funcionou perfeitamente.

Você está utilizando algum PROXY? Pode ser isso que esteja impedindo o download das imagens!

Então... estranho pq, quando executo docker run -it ubuntu roda normalmente, fosse PROXY isso não deveria funcionar não?


Unable to find image 'ubuntu:latest' locally
latest: Pulling from library/ubuntu
5c939e3a4d10: Pull complete
c63719cdbe7a: Pull complete
19a861ea6baf: Pull complete
651c9d2d6c4f: Pull complete
Digest: sha256:8d31dad0c58f552e890d68bbfb735588b6b820a46e459672d96e585871acc110
Status: Downloaded newer image for ubuntu:latest
root@eedcb158c6e0:/#

Uma outra pergunta, você está utilizando o Docker Engine mesmo ou é o Docker Toolbox?

E realmente se fosse o PROXY ele não deixaria fazer o pull da imagem do Ubuntu.

Outra coisa, qual a versão do Python instalado na sua máquina?

Python 3.8.1

Dá uma olhada nessas imagens. Será que esse erro pode estar relacionado?

https://drive.google.com/open?id=1lDjjgF-lnB5PHF1rVE3puEQtjEuJK3iq

solução!

Bem, uma das soluções que pode visualizar na comunidade foi setar a LANG do sistema, parece que por algum motivo o erro era esse, para isso a solução que pude visualizar e que você deve tentar é rodar esse comando no terminal:

export LANG=en_US.UTF-8

Caso, não funcione, como ultimo caso a solução é você desinstalar o docker-compose, o docker e reinstalar novamente.

Souza,

Fiz a reinstalação e funcionou. Obrigado!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software