Základní operace s Dockerem
Následující seznam uvádí klíčové příkazy pro práci s Dockerem:
- Docker pull: Tento příkaz slouží ke stahování již připravených obrazů z Docker Hubu nebo jiných úložišť. Není nutné vytvářet vlastní konfigurace.
- Docker run: Umožňuje spuštění nového kontejneru na základě existujícího obrazu. Nabízí možnosti pro spuštění v odděleném režimu nebo pro zajištění nepřetržitého běhu kontejneru.
- Docker ps: Zobrazí seznam běžících kontejnerů a jejich detailní informace. Uvádí ID kontejneru, použitý obraz, datum vytvoření, aktuální stav a přidělené porty.
Kontejnery Docker sdružují konfigurace aplikací do samostatných celků, které lze bez problémů spouštět v různých prostředích.
Docker nabízí řadu příkazů pro řízení jeho funkcí. S těmito příkazy můžete jednoduše vytvářet, spouštět, zastavovat, odstraňovat a spravovat Docker kontejnery.
1. Stahování obrazů (docker pull)
Příkaz docker pull
slouží ke stažení Docker obrazu z registru. Docker Hub nabízí rozsáhlou sbírku předpřipravených obrazů, které můžete využít bez potřeby vytváření vlastních konfigurací.
Tyto obrazy slouží jako šablony pro tvorbu Docker kontejnerů pro vaše aplikace. Příkazem docker pull
můžete stahovat obrazy uložené v úložištích.
Základní syntaxe pro stažení obrazu je:
docker pull [OPTIONS] NAME[:TAG|@DIGEST]
Pokud nezadáte tag (označení) obrazu, Docker automaticky stáhne obraz s výchozím tagem. Zkusme si například stáhnout obraz Ubuntu:
docker pull ubuntu
Po provedení příkazu byste měli vidět výstup podobný následujícímu:
Pro kontrolu úspěšného stažení obrazu použijte příkaz:
docker images
Zobrazí se vám detailní informace o stažených obrazech, jak ukazuje následující obrázek:
Pro stažení více obrazů najednou můžete použít syntaxi:
docker image pull --all-tags ubuntu
Příkaz docker pull --help
vám zobrazí všechny možnosti pro stahování obrazů.
2. Spouštění kontejnerů (docker run)
Příkaz docker run
se používá pro spuštění nového Docker kontejneru z existujícího obrazu. Kontejner je spuštěná instance obrazu. Kontejnery obsahují váš kód a zajišťují běh vaší aplikace.
Základní syntaxe pro spuštění kontejneru je:
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
Pro spuštění kontejneru v odděleném (detached) režimu, který běží na pozadí, můžete použít přepínač -d
. Zkuste si spustit obraz Ubuntu v odděleném režimu:
docker run -d ubuntu:latest
V terminálu se vám zobrazí kód, který potvrzuje úspěšné spuštění kontejneru, například:
8faa77f621f33473af6992c94a9e2d97c12b5c1d11a1c44897344ee862eec7e1
Obvykle kontejner běží pouze krátkou dobu a poté se ukončí. Pro zajištění nepřetržitého běhu kontejneru použijte přepínač -t
nebo -tty
.
docker run -d -t ubuntu:latest
Seznam běžících kontejnerů můžete zobrazit pomocí příkazu docker ps
. Měli byste tam vidět spuštěný kontejner Ubuntu. Pro podrobnější návod si můžete prohlédnout jak spustit Ubuntu jako Docker kontejner.
Při spouštění kontejneru můžete nastavit mnoho dalších parametrů, například název, svazky pro sdílení dat a porty pro komunikaci. Menší kontejnerové obrazy běží rychleji. Doporučuje se zmenšovat velikost obrazů pomocí Alpine images nebo jinými metodami.
Více informací o možnostech příkazu docker run
získáte pomocí docker run --help
.
3. Výpis běžících kontejnerů (docker ps)
Příkaz docker ps
slouží k zobrazení seznamu běžících Docker kontejnerů ve vašem systému. Zobrazuje ID kontejneru, použitý obraz, datum vytvoření, stav kontejneru a přidělené porty.
Syntaxe příkazu je:
docker ps [OPTIONS]
Příkaz docker ps
nabízí mnoho parametrů, které můžete použít pro filtrování nebo úpravu výstupu. Pro zobrazení všech možností použijte docker ps --help
.
Například, můžete zobrazit kontejnery v tichém režimu pomocí přepínače --quiet
. Nebo použijte --format
pro zobrazení detailů kontejneru ve specifickém formátu. Můžete také zobrazit kontejnery s nejnovějším tagem --latest
nebo kontejnery konkrétní velikosti --size
nebo -s
.
4. Zastavení kontejnerů (docker stop)
Příkaz docker stop
se používá pro zastavení jednoho nebo více běžících kontejnerů. Možná budete chtít zastavit některé kontejnery, pokud je zrovna nepoužíváte, nebo pokud potřebují aktualizaci.
Syntaxe příkazu je:
docker stop [OPTIONS] CONTAINER [CONTAINER...]
Pro zastavení kontejneru Ubuntu použijte jeho ID:
docker stop 45404fe7b36e
V terminálu uvidíte ID zastaveného kontejneru. Pro ověření spusťte docker ps
a vypište běžící kontejnery. Uvidíte, že zastavený kontejner Ubuntu se již v seznamu nenachází.
Pro zastavení více kontejnerů najednou použijte příkaz:
docker stop 90148165353a 5f0de5ef4b2b
Více informací o možnostech příkazu docker stop
získáte pomocí docker stop --help
.
5. Spuštění zastavených kontejnerů (docker start)
Pro opětovné spuštění zastavených kontejnerů použijte následující syntaxi:
docker start [OPTIONS] CONTAINER [CONTAINER...]
Například pro restartování kontejneru Ubuntu, který jste předtím zastavili:
docker start 45404fe7b36e
Nyní byste měli vidět kontejner v seznamu běžících kontejnerů, jak je znázorněno na následujícím obrázku:
Více informací o možnostech příkazu docker start
získáte pomocí docker start --help
.
6. Zobrazení protokolů kontejneru (docker logs)
Příkaz docker logs
pomáhá získat protokoly generované běžícím kontejnerem. Protokoly se využívají pro ladění, monitorování a porozumění chování kontejnerů. Zde je syntaxe příkazu docker logs
:
docker logs [OPTIONS] CONTAINER
Pomocí parametrů můžete z kontejnerů získat specifické informace, například výstup streamu nebo specifické časové razítka. Můžete filtrovat protokoly a sestavy na základě dalších atributů, například proměnných prostředí.
Například, pro získání protokolů s časovými razítky pro kontejner Ubuntu, použijte jeho ID:
docker logs --timestamps 45404fe7b36e
Ve výstupu uvidíte časová razítka:
2023-08-21T13:10:31.979307895Z root@45404fe7b36e:/# 2023-08-21T13:51:27.442944740Z root@45404fe7b36e:/#
Spuštěním příkazu docker logs --help
zjistíte další možnosti.
7. Spouštění příkazů v kontejneru (docker exec)
Příkaz docker exec
se používá pro spouštění příkazů uvnitř běžícího kontejneru. Umožňuje interakci s procesem běžícího kontejneru. Můžete získat přístup k shellu pro řešení problémů a správu kontejnerů.
Syntaxe příkazu je:
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
Nejprve, pokud chcete spustit docker exec
v kontejneru Ubuntu, ujistěte se, že kontejner běží. Pokud ne, můžete ho restartovat pomocí docker start [CONTAINER]
.
Poté spusťte příkaz následovně:
docker exec -it 45404fe7b36 /bin/bash
Uvidíte, že Docker otevře shell uvnitř kontejneru.
root@45404fe7b36e:/#
V shellu můžete spouštět další příkazy uvnitř kontejneru.
8. Odesílání obrazů do registru (docker push)
Docker push
je jeden z nejdůležitějších příkazů. Slouží k odesílání obrazů z místního systému do online Docker úložiště.
Jednou z výhod ukládání obrazů na Docker Hub je, že je můžete kdykoli načíst odkudkoli. Registr vám také umožňuje sdílet vaše obrazy s ostatními a spolupracovat s nimi.
Syntaxe příkazu je:
docker push [OPTIONS] NAME[:TAG]
Pro demonstraci si zkuste odeslat obraz Ubuntu do Docker Hubu. Musíte mít zaregistrovaný účet u Docker Hubu.
Nejprve se přihlaste do svého Docker enginu v terminálu. Poté byste měli přejmenovat obraz, který chcete odeslat, novým jménem odkazujícím na online úložiště. Nakonec můžete přejmenovaný obraz odeslat na Docker Hub. Můžete se naučit praktické kroky pro nasazení aplikace do Docker úložiště.
Pokročilé příkazy Dockeru
Docker obsahuje i pokročilejší koncepty, jako jsou Docker Compose a Docker Swarm. Tyto nástroje pomáhají s konfigurací a správou komplexních aplikací s mnoha kontejnery. Prohlédněte si příkazy spojené s těmito nástroji a zlepšete své dovednosti v Dockeru.