Junior — Middle
Как се извършва създаването на Docker образи за приложения, написани на Go?
sobes.tech AI
Отговор от AI
Обикновено за създаване на Docker образи за Go приложения се използва многоетапна сборка (multi-stage build), за да се получи минимален и оптимизиран образ.
Основни стъпки:
- В първия етап (builder) се използва официален образ с Go SDK, където се компилира приложението.
- Във втория етап се създава минимален образ (например базиран на
scratchилиalpine), в който се копира само компилираното бинарно.
Примерен Dockerfile:
# Етап на сборка
FROM golang:1.20 AS builder
WORKDIR /app
COPY . .
RUN go build -o myapp
# Минимален финален образ
FROM alpine:latest
RUN apk --no-cache add ca-certificates
COPY --from=builder /app/myapp /usr/local/bin/myapp
ENTRYPOINT ["/usr/local/bin/myapp"]
Този подход намалява размера на крайния образ и изключва ненужните инструменти и изходни кодове.