# ---------- 1. fáze: překlad ----------
# Obraz s kompletním Go toolchainem (~300 MB) použijeme jen pro build.
# Build by klidně šel udělat lokálně, bez dockeru.
FROM golang:1.26-alpine AS build

WORKDIR /src
COPY go.mod ./
COPY *.go ./
# CGO_ENABLED=0 => staticky slinkovaná binárka, poběží i v minimálním obrazu
RUN CGO_ENABLED=0 go build -o /hello .

# ---------- 2. fáze: výsledný (malý) obraz ----------
# Tady skutečně vytváříme obraz s programem.
FROM alpine:3.22

COPY --from=build /hello /usr/local/bin/hello

# Výchozí hodnoty proměnných prostředí (lze přepsat přes `docker run -e`)
ENV NAME=svět COUNT=5

# ENTRYPOINT = program, který se spustí; CMD = výchozí argumenty
# (vše za názvem obrazu v `docker run IMAGE ...` nahradí CMD)
ENTRYPOINT ["hello"]
CMD ["arg1", "arg2"]
