Přeskočit na obsah
_CORE
AI & Agentic Systems Core Informační Systémy Cloud & Platform Engineering Data Platforma & Integrace Security & Compliance QA, Testing & Observability IoT, Automatizace & Robotika Mobile & Digital Banky & Finance Pojišťovnictví Veřejná správa Obrana & Bezpečnost Zdravotnictví Energetika & Utility Telco & Média Průmysl & Výroba Logistika & E-commerce Retail & Loyalty
Reference Technologie Blog Knowledge Base O nás Spolupráce Kariéra
Pojďme to probrat

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

01. 01. 2024 1 min čtení intermediate

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.

dockerdevopskontejnery