Vou dar uma olhada aqui, mas na aula ele criou um arquivo Dockerfile para todo o projeto, apontando para  cópia no container somente o arquivo executável do projeto.
Esse foi o código que ele criou em aula e inseriu no docker-compose.yml
FROM golang:1.22
EXPOSE 8080
WORKDIR /app
COPY ./main /app/main
CMD [ "./main" ]
Esse é o arquivo do Docker compose depois da alteração que ele fez:
services:
  postgres:
    image: "postgres"
    environment:
      - POSTGRES_USER=root
      - POSTGRES_PASSWORD=root
      - POSTGRES_DB=root
    ports:
      - 5432:5432
    volumes:
      - ./postgres-data:/var/lib/postgresql/data
  app:
    #procurar na mesma pasta em que o Dockercompose está sendo executado irá procurar o arquivo DockerFile
    build: .
    ports:
      - 8080:8080
      #o serviço depende do postgres
    depends_on:
      - postgres
    environment:
      - DB_HOST=postgres
      - DB_USER=root
      - DB_PASSWORD=root
      - DB_NAME=root
      - DB_PORT=5432
A propósito, valeu mesmo aí por ajudar. Muito obrigado!