Образ сервиса на Go весит 1,1 ГБ, хотя бинарник — 18 МБ
FROM golang:1.23
WORKDIR /app
COPY . .
RUN go build -o /app/orders ./cmd/orders
CMD ["/app/orders"]
Образ содержит весь тулчейн Go, исходники и кэш модулей. Как собрать компактный образ?
- Многоэтапная сборка: в итоговый образ только бинарник
- Удалить исходники командой RUN rm -rf в конце
- Сжать образ архиватором перед публикацией
- Собирать бинарник при старте контейнера
