truck-company/Dockerfile
2025-03-27 18:57:49 +00:00

35 lines
787 B
Docker

# Этап сборки
FROM docker.io/library/golang:latest AS builder
# Рабочая директория
WORKDIR /build
# Копируем файлы зависимостей
COPY go.mod go.sum ./
RUN go mod tidy
RUN go mod download
# Копируем весь код
COPY . .
RUN ls
# Собираем приложение (статически линкуем для Alpine)
RUN CGO_ENABLED=0 GOOS=linux go build -o /app ./cmd/api
# Этап запуска
FROM docker.io/library/alpine:latest
# Рабочая директория
WORKDIR /app
# Копируем бинарник из этапа сборки
COPY --from=builder /app .
# Порт, который будет слушать приложение
EXPOSE 8080
# Команда запуска
CMD ["./app"]