Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

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!