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

Kompletní průvodce Docker

01. 01. 2024 1 min čtení intermediate

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.

dockerkontejnerydevops