1
resposta

[Bug] Repositório indisponivél no curso de Docker

Olá pessoal, tudo bem?

Estou realizando o curso de Docker: construindo imagens para produção e me deparei com um erro abaixo...

Cheguei a executar a imagem corretamente (docker compose up --build) porém fui checar o localhost na porta 8080 porém não subiu nem o container como deveria. Instalei todas as dependências do GO porém sem sucesso também, executei o (docker compose up) para ver o log e me deparei com esse erro ao checar o repositório da API.

Conseguem me ajudar com isso?

erro ao executar docker compose up

1 resposta

Ola

Gabriel, o erro que aparece no log na verdade são dois problemas diferentes, e eles acabam se somando para impedir que o docker compose up suba corretamente.

O primeiro problema é do PostgreSQL.
A mensagem indica que já existe um volume com dados de uma versão antiga do Postgres, e agora o Docker está tentando subir uma versão mais nova (18+) usando o mesmo volume. O Postgres não permite isso sem um processo de upgrade (pg_upgrade).
Isso normalmente acontece quando alguém já rodou o projeto antes, depois atualizou a imagem do Postgres e manteve o volume antigo.

Como é um ambiente de curso, a forma mais simples de resolver é apagar o volume antigo e subir tudo do zero. Você pode fazer assim:

docker compose down -v
docker compose up --build

Isso remove os volumes e recria o banco do zero, evitando o conflito de versões.

O segundo problema é na aplicação Go.
Esse erro aqui é o mais importante para o container da API não subir:

no required module provides package github.com/guilhermeonrails/api-go-gin/database

Isso indica que o repositório usado no curso não está mais disponível ou mudou de estrutura. O Go tenta baixar esse módulo, mas ele simplesmente não existe mais no GitHub com esse caminho. Por isso, mesmo instalando dependências localmente, o build da imagem falha.

Ou seja:

  • O Postgres falha por causa de volume antigo.
  • A aplicação falha porque o repositório da API está indisponível ou quebrado.

Nesse caso, o problema não é erro seu. É um bug do material do curso, abre o ticket