Uživatelské nástroje

Nástroje pro tento web


docker

Toto je starší verze dokumentu!


Docker (Kontejnerizace)

Docker je open-source platforma, která umožňuje vývojářům balit aplikace a jejich závislosti do izolovaných kontejnerů. Na rozdíl od klasické virtualizace, která virtualizuje celý hardware, Docker využívá sdílené jádro hostitelského operačního systému, což ho činí extrémně lehkým a rychlým.

### 1. Rozdíl mezi Virtuálním strojem (VM) a Kontejnerem Zatímco VM obsahuje celý operační systém (včetně jádra), kontejner sdílí jádro s hostitelem a izoluje pouze procesy na úrovni uživatelského prostoru.

Vlastnost Virtuální stroj (VM) Docker Kontejner
Rychlost startu Minuty Sekundy / Milisekundy
Velikost Gigabajty (GB) Megabajty (MB)
Izolace Úplná (vlastní kernel) Procesní (sdílené jádro)
Režie (Overhead) Vysoká Minimální

### 2. Základní komponenty

  • Docker Engine: Jádro systému (démon), které spravuje kontejnery.
  • Dockerfile: Textový soubor s instacemi pro sestavení obrazu.
  • Image (Obraz): Neměnná šablona (předpis), ze které se spouštějí kontejnery.
  • Container (Kontejner): Běžící instance obrazu.
  • Docker Hub: Veřejný registr (úložiště) hotových obrazů (např. Nginx, MySQL, Python).

### 3. Workflow: Build → Ship → Run Proces práce s Dockerem se skládá ze tří kroků:

1. **Build:** Vytvoření obrazu z Dockerfile.
2. **Ship:** Nahrání obrazu do registru (Docker Hub nebo privátní).
3. **Run:** Stažení a spuštění kontejneru na cílovém serveru.

### 4. Ukázka Dockerfile Příklad jednoduchého souboru pro spuštění webové aplikace v Pythonu:

# Základní obraz
FROM python:3.9-slim

# Nastavení pracovního adresáře
WORKDIR /app

# Kopírování souborů
COPY . .

# Instalace závislostí
RUN pip install -r requirements.txt

# Port, na kterém aplikace naslouchá
EXPOSE 5000

# Příkaz pro spuštění
CMD ["python", "app.py"]

### 5. Základní příkazy CLI

Příkaz Popis
docker build -t moje-aplikace . Sestaví obraz z aktuálního adresáře.
docker run -d -p 80:5000 moje-aplikace Spustí kontejner na pozadí a namapuje porty.
docker ps Seznam běžících kontejnerů.
docker images Seznam stažených obrazů.
docker stop <id> Zastaví běžící kontejner.
docker rm -f $(docker ps -aq) Smaže všechny kontejnery v systému.

### 6. Orchestrace Když počet kontejnerů naroste, je obtížné je spravovat ručně. K tomu slouží nástroje pro orchestraci:

  • Docker Compose: Pro definici aplikací složených z více kontejnerů (např. web + DB) v jednom YAML souboru.
  • Kubernetes (K8s): Komplexní platforma pro automatizaci nasazování, škálování a správu kontejnerových clusterů.
Důležité: Docker kontejnery jsou z principu ephemerální (pomíjivé). Pokud dojde ke smazání kontejneru, všechna data uvnitř jsou ztracena. Pro trvalé uložení dat je nutné použít Volumes (svazky).

Zpět na rozcestník DevOps

docker.1767187268.txt.gz · Poslední úprava: autor: admin