Не получается запустить миграции, на месте
RUN ./migrator выходит следующая ошибка:
panic: failed to connect to `host=db user=postgres database=iod`: hostname resolving error (lookup db on 192.168.65.7:53: no such host)
Проблема в том что миграция запускается во время билда, но база данных еще не работает, поэтому и ошибка такая, но вопрос в том как решить эту проблему.
Пробовал CMD migrator - вообще ноль реакции
Пробовал отдельно в docker-compose сделать сервис migrator, который запускается после db - точно та же ошибка что и выше.
FROM golang:alpine
RUN apk update && apk add --no-cache git && apk add --no-cache bash
WORKDIR /app
COPY go.mod go.sum ./
RUN go mod download
COPY . .
COPY .env .
RUN go build -o migrator ./cmd/migrator/main.go
RUN ./migrator
RUN go build -o bin/app cmd/app/main.go
ENTRYPOINT ["/app/bin/app"]
EXPOSE 8080
Код docker-compose:
networks:
proxynet:
driver: bridge
volumes:
local_postgres_data:
services:
db:
container_name: db
restart: always
image: postgres:latest
env_file: ./.env
networks:
- proxynet
expose:
- "5432"
volumes:
- local_postgres_data:/var/lib/postgresql/data
healthcheck:
test: [ "CMD-SHELL", "pg_isready -U ${POSTGRES_USER} -d ${POSTGRES_DB}" ]
interval: 10s
retries: 5
start_period: 30s
timeout: 10s
server:
container_name: server
restart: always
build:
context: .
dockerfile: Dockerfile
env_file: ./.env
ports:
- "8080:8080"
networks:
- proxynet
depends_on:
db:
condition: service_healthy