Přeskočit na obsah
Hacky & Tipy

Docker: 10 chyb, co dělá každý začátečník

9 min čtení
DockerDevOpsKontejnery

Docker je jednoduchý na naučení, ale těžký na zvládnutí. Tady je 10 chyb, které dělá skoro každý.

1. Používání :latest tagu

# ❌ FROM node:latest
# ✅ FROM node:20.11-alpine

2. Running as root

RUN addgroup -S app && adduser -S app -G app
USER app

3. Obří image

Použijte multi-stage builds a Alpine:

FROM node:20 AS build
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build

FROM node:20-alpine
COPY --from=build /app/dist ./dist
CMD ["node", "dist/index.js"]

4. Špatné pořadí vrstev (cache)

# ✅ Dependencies first, pak kód
COPY package*.json ./
RUN npm install
COPY . .

5. Chybějící .dockerignore

node_modules
.git
.env
Dockerfile

6. Secrets v image

Nikdy nedávejte hesla do Dockerfile. Použijte runtime env nebo Docker secrets.

7. Víc procesů v jednom kontejneru

Jeden kontejner = jeden proces. Nedělejte z kontejneru VM.

8. Žádný health check

HEALTHCHECK --interval=30s --timeout=3s CMD curl -f http://localhost:3000/health || exit 1

9. Žádné volumes pro data

docker run -v pgdata:/var/lib/postgresql/data postgres:16

10. Žádné resource limity

docker run --memory=512m --cpus=1.0 myapp

Shrnutí

Respektujte best practices od začátku. Opravit špatné návyky je těžší než se je nenaučit.

CORE SYSTEMS tým

Enterprise architekti a DevOps inženýři. Stavíme systémy, které fungují.