# 🐳 Úvod do Dockeru: Praktický průvodce pro začátečníky
👉 [[1.1.1 O projektu]]
👉 [[1.1.2 Vlastní digitální svět (přehled článků)]]
Představte si, že máte možnost spustit aplikace v oddělených „krabicích“, které se navzájem neovlivňují. 🛠️ Takové „krabice“ se nazývají **kontejnery** a Docker je nástroj, který vám pomůže je snadno vytvořit a spravovat.
Tento článek vás provede základy Dockeru, ukáže vám první kroky a nabídne tipy, jak řešit problémy, i když zatím nemáte zkušenosti. 🚀
![[image_dockerstart.png]]
---
## **Co je Docker a proč ho používat?**
Docker je nástroj, který umožňuje balit aplikace a všechny jejich závislosti do tzv. **kontejnerů**. Ty běží izolovaně, což přináší několik klíčových výhod:
- **Izolace:** Každá aplikace běží ve svém vlastním prostředí. Žádné konflikty verzí knihoven nebo závislostí!
- **Přenositelnost:** Kontejnery můžete snadno přesunout mezi počítači, servery nebo cloudy.
- **Jednoduchá správa:** Aplikace spustíte, zastavíte a smažete jedním příkazem.
Představte si, že pracujete na projektu a potřebujete stejnou konfiguraci na svém notebooku i na produkčním serveru. Docker vám to umožní bez složitých úprav nebo nastavování.
---
## **Jak Docker funguje: Základní architektura**
Docker funguje na principu tří hlavních komponent:
1. **Image (obraz):** Šablona obsahující aplikaci a vše potřebné pro její běh.
2. **Container (kontejner):** Běžící instance obrazu.
3. **Registry:** Místo, kde jsou obrazy uloženy (např. [Docker Hub](https://hub.docker.com/)).
🛠️ **Praktické přirovnání:**
Docker image je jako recept na dort, který obsahuje všechny ingredience. Kontejner je ten dort, který upečete podle receptu. A registry je kuchařka, kde najdete spoustu dalších receptů!
---
## **Instalace Dockeru: Začněte krok za krokem**
1. **Stáhněte si Docker Desktop:**
- [Pro Windows](https://www.docker.com/products/docker-desktop/)
- [Pro macOS](https://www.docker.com/products/docker-desktop/)
- [Pro Linux](https://docs.docker.com/engine/install/)
2. **Nainstalujte a spusťte první příkaz:**
```bash
docker run hello-world
```
Tento příkaz stáhne obraz „hello-world“ z Docker Hubu, spustí ho jako kontejner a ukáže vám, že Docker funguje.
3. **Prozkoumejte základní příkazy:**
- **`docker pull`**: Stáhne obraz z registry.
- **`docker run`**: Spustí nový kontejner.
- **`docker ps`**: Ukáže běžící kontejnery.
- **`docker stop`**: Zastaví kontejner.
---
## **Co je `.yml` a proč je důležitý?**
Docker Compose používá `.yml` soubory k definování služeb, sítí a svazků. `.yml` je jednoduchý formát pro zápis strukturovaných dat, který vyžaduje přesnou práci s odsazením.
Příklad jednoduchého `docker-compose.yml`:
```yaml
version: '3'
services:
web:
image: nginx
ports:
- "8080:80"
```
💡 **Tip:** Používejte editor jako [VS Code](https://code.visualstudio.com/), který nabízí:
- Automatické zvýraznění syntaxe.
- Kontrolu chyb v `.yml`.
- Rozšíření pro Docker a YAML, která vám práci výrazně usnadní.
---
## **První projekt: Vytvořte jednoduchý webový server**
Vyzkoušejte si jednoduchý příklad s webovým serverem **nginx**:
```bash
docker run -d -p 8080:80 nginx
```
Otevřete prohlížeč a zadejte `http://localhost:8080`. Uvidíte výchozí stránku serveru nginx.
---
## **Docker Compose: Proč a jak ho použít?**
Docker Compose je nástroj, který umožňuje spouštět více kontejnerů najednou pomocí jednoho souboru. Příklad:
```yaml
version: '3'
services:
web:
image: nginx
ports:
- "8080:80"
db:
image: postgres
```
Spuštění:
```bash
docker-compose up
```
Tímto příkazem spustíte webový server i databázi najednou.
---
## **Řešení problémů a ladění pomocí AI nástrojů**
Docker logy jsou užitečné, ale někdy těžko srozumitelné. Jak může AI pomoci?
- **Problém s kontejnerem:** Zkopírujte chybu z logů (`docker logs [container_id]`) a vložte ji do ChatGPT nebo jiného AI nástroje.
- **Konfigurace Docker Compose:** Pokud se objeví chyba v souboru `docker-compose.yml`, AI vám pomůže ji najít a opravit.
Příklad:
1. Zkopírujte část logu nebo chybu.
2. Zeptejte se: „Co tato chyba znamená a jak ji opravit?“
3. Získejte podrobné vysvětlení a návod.
**Pozor na bezhlavé kopírování, vždy je potřeba mít alespoň základní povědomí co děláme, abychom si prostředí kompletně nerozbili, to samozřejmě platí dvojnásobně pokud jsme ve vlastní produkci.**
---
## **Co dál? Prozkoumejte možnosti Dockeru**
Jakmile zvládnete základy, můžete se podívat na další témata:
- [Traefik](https://doc.traefik.io/traefik/): Reverzní proxy pro správu více domén.
- [Portainer](https://www.portainer.io/): Správa Docker kontejnerů pomocí přehledného grafického
- Vlastní Docker obrazy: Jak vytvořit image pomocí `Dockerfile`.
- [Kubernetes](https://kubernetes.io/): Pokročilá orchestrace více kontejnerů (pro velké projekty).
Pro podrobnosti si projděte [oficiální dokumentaci Dockeru](https://docs.docker.com/).
---
## **Závěr**
Docker je skvělý nástroj, který vám usnadní práci s aplikacemi a jejich správu. Tento článek vás provedl prvními kroky, ale to je jen začátek. 🚀
👉 Jaké projekty plánujete s Dockerem? Podělte se o své zkušenosti v komentářích ([Mastodon](https://mastodonczech.cz/@TomasHaubert/113896693024179650), [Linkedin](https://www.linkedin.com/posts/tomas-haubert_uvod-do-dockeru-tom%C3%A1%C5%A1-haubert-activity-7290655006892978176-lbAW?utm_source=share&utm_medium=member_ios)).
### ⏪ Související články ⏩
> **🔙 Předchozí článek:**
> [[2025-01-27 Výběr typu instalace pro váš digitální svět|Předchozí (výběr typu instalace)]]
>
> **🔜 Následující článek:**
> [[2025-02-03 Portainer (Jak jednoduše spravovat Docker kontejnery přes webové rozhraní)|Portainer (správa Docker kontejnerů)]]
#osobniDigitalizace #digilifehub #docker