Go-TestAPI/Dockerfile

30 lines
758 B
Docker

FROM golang:1.16 as builder
WORKDIR /app
# Копирование файлов проекта
COPY . .
# Сборка миграционного инструмента
RUN go build -o migrations ./cli/migrations.go
# Сборка основного приложения
RUN go build -o main ./main.go
# Использование легковесного базового образа для запуска
FROM alpine:latest
RUN apk --no-cache add ca-certificates
WORKDIR /root/
# Копирование исполняемых файлов из предыдущего шага
COPY --from=builder /app/main .
COPY --from=builder /app/migrations .
# Запуск миграций
RUN ./migrations
# Запуск сервера
CMD ["./main"]