Přeskočit na obsah
Manuál

Kompletní průvodce Docker

15 min čtení
DockerKontejneryDevOps

Docker změnil způsob, jak buildíme a deployujeme software. Tady je kompletní průvodce.

Co je Docker

Docker balí aplikaci + všechny závislosti do kontejneru. „Works on my machine" → „Works everywhere."

Základní příkazy

docker run -d -p 8080:80 nginx
docker ps
docker stop
docker rm
docker images
docker pull postgres:16

Dockerfile

FROM node:20-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --production
COPY . .
EXPOSE 3000
CMD ["node", "index.js"]

Docker Compose

services:
app:
build: .
ports: ["3000:3000"]
depends_on: [db]
db:
image: postgres:16
environment:
POSTGRES_PASSWORD: secret
volumes: ["pgdata:/var/lib/postgresql/data"]
volumes:
pgdata:

Networking

docker network create mynet
docker run --network mynet --name app myapp
docker run --network mynet --name db postgres

Volumes

docker volume create mydata
docker run -v mydata:/data myapp
docker run -v $(pwd):/app myapp # bind mount

Multi-stage builds

FROM node:20 AS build
RUN npm run build

FROM node:20-alpine
COPY --from=build /app/dist ./dist

Best practices

  • Alpine images
  • Multi-stage builds
  • Non-root user
  • .dockerignore
  • Health checks
  • Pinované verze

Další krok

Naučte se Docker Compose pro multi-container apps, pak Kubernetes pro orchestraci.

CORE SYSTEMS tým

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