Senior
Môžeš rozprávať o nasadzovaní cez Docker — ako to fungovalo?
sobes.tech AI
Odpoveď od AI
Nasadenie pomocou Docker zvyčajne vychádza z kontajnerizácie aplikácie, čo umožňuje zabaliť všetky závislosti a prostredie spustenia do jedného obrazu. Z mojich skúseností s Golang to vyzeralo takto:
- Napíše sa Dockerfile, kde je často ako základný obraz oficiálny golang alebo alpine pre minimálnu veľkosť.
- V Dockerfile sa zostaví binárny súbor aplikácie vnútri kontajnera (multi-stage build), aby sa na záverečnej fáze získal minimálny obraz s iba binárnym súborom a potrebnými súbormi.
- Obraz sa pushne do registra (Docker Hub, súkromný registry).
- Na serveri alebo v orchestrátore (napríklad Kubernetes) sa spustí kontajner z tohto obrazu.
Príklad Dockerfile pre Go aplikáciu:
# Fáza 1: Build
FROM golang:1.20-alpine AS builder
WORKDIR /app
COPY . .
RUN go build -o myapp
# Fáza 2: Run
FROM alpine:latest
WORKDIR /app
COPY --from=builder /app/myapp .
CMD ["./myapp"]
Tento prístup zabezpečuje reprodukovateľnosť prostredia, zjednodušuje deployment a škálovanie.