Skip to content

Příkazy Dockeru vysvětleny

Dockerové příkazy pro každodenní práci, seskupené podle úkolu: sestavování a přesun obrazů, spouštění a zastavování kontejnerů, ladění docker run pomocí přepínačů, čtení logů a statistik, přístup dovnitř kontejneru, kopírování souborů a práce s registry, správa svazků a sítí, řízení Compose a uvolňování místa na disku.

Docker se dělí na dva objekty: obrazy (šablona jen pro čtení) a kontejnery (běžící instance obrazu). Obraz sestavíte nebo stáhnete, spustíte jako kontejner, prozkoumáte, co se děje, a pak uklidíte. Většina lidí navíc používá Compose k deklaraci aplikací z více kontejnerů. Každý příkaz níže má krátkou formu; dlouhá forma je uvedena tam, kde je srozumitelnější.

Referenční tabulka · 75 položek
75 of 75 rows
Sestavení
Sestaví obraz z Dockerfile.docker build -t app:1.0 .
Sestaví obraz znovu od nuly a ignoruje cachované vrstvy.docker build --no-cache -t app:1.0 .
Sestaví jen po pojmenovanou fázi ve vícefázovém Dockerfile.docker build --target deps -t app:deps .
Sestavuje obrazy přes plugin buildx, který řídí BuildKit.docker buildx build -t app:1.0 .
Sestaví jeden obraz pro několik architektur CPU.docker buildx build --platform linux/amd64,linux/arm64 -t app:1.0 --push .
Obrazy
Stáhne obraz z registru.docker pull node:20
Vypíše místně uložené obrazy.docker images
Vytvoří novou značku ukazující na tentýž obraz.docker tag app:1.0 app:latest
Odstraní jeden nebo více místních obrazů.docker rmi app:1.0
Životní cyklus kontejneru
Vytvoří a spustí kontejner z obrazu.docker run -p 8080:3000 app
Vytvoří kontejner, aniž by jej spustil.docker create --name web app
Spustí zastavený kontejner.docker start web
Zastaví běžící kontejner korektně.docker stop web
Zastaví a spustí kontejner v jednom kroku.docker restart web
Násilně zastaví kontejner bez čekání na korektní vypnutí.docker kill web
Zmrazí všechny procesy uvnitř kontejneru.docker pause web
Rozmrazí procesy pozastaveného kontejneru.docker unpause web
Blokuje, dokud se kontejner nezastaví, pak vypíše jeho návratový kód.docker wait web
Vypíše běžící kontejnery; přidejte -a pro zahrnutí zastavených.docker ps -a
Přejmenuje existující kontejner.docker rename web web-old
Změní limity prostředků nebo politiku restartu kontejneru.docker update --restart=unless-stopped web
Odstraní zastavený kontejner.docker rm web
Přepínače run
Spustí kontejner na pozadí a vypíše jeho ID.docker run -d -p 8080:80 app
Publikuje port kontejneru na portu hostitele.docker run -p 8080:80 app
Připojí složku hostitele nebo pojmenovaný svazek do kontejneru.docker run -v app-data:/data app
Nastaví proměnnou prostředí v kontejneru.docker run -e MODE=prod app
Dá kontejneru pevný název pro použití v dalších příkazech.docker run --name web app
Smaže kontejner po jeho ukončení.docker run --rm app
Spustí kontejner v konkrétní síti.docker run --network net app
Řekne Dockeru, kdy kontejner restartovat.docker run --restart unless-stopped app
Přidělí terminál a drží stdin otevřený pro interaktivní relaci.docker run -it alpine sh
Nahradí entrypoint obrazu vlastním příkazem.docker run --entrypoint sh app
Omezí paměť nebo podíl CPU, které může kontejner použít.docker run --memory 512m --cpus 0.5 app
Zkoumání
Přečte stdout a stderr kontejneru; -f sleduje nový výstup podle toho, jak přichází.docker logs -f web
Zobrazí nízkoúrovňovou konfiguraci a stav kontejneru nebo obrazu.docker inspect web
Vytáhne z inspect jedno pole pomocí Go šablony.docker inspect --format '{{.State.Status}}' web
Vypíše porty hostitele, které kontejner publikuje.docker port web
Zobrazí soubory, které kontejner změnil oproti svému obrazu.docker diff web
Živé hodnoty CPU, paměti a sítě běžících kontejnerů.docker stats
Vypíše procesy běžící uvnitř kontejneru.docker top web
Streamuje události Dockeru z démonu ve chvíli, kdy nastávají.docker events --filter type=container
Zobrazí místo na disku použité obrazy, kontejnery, svazky a cache.docker system df
Zobrazí nastavení a stav Dockeru v celém systému.docker info
Exec a attach
Spustí příkaz uvnitř běžícího kontejneru.docker exec -it web sh
Připojí váš terminál k hlavnímu procesu kontejneru.docker attach web
Soubory a registry
Kopíruje soubory mezi kontejnerem a místním souborovým systémem.docker cp web:/app/logs ./logs
Přihlásí vás k registru z CLI.docker login
Odhlásí vás od registru.docker logout
Nahraje místní obraz do registru.docker push user/app:1.0
Zapíše obraz do tar souboru.docker save -o app.tar app:1.0
Načte obraz z tar souboru.docker load -i app.tar
Zapíše souborový systém kontejneru do tar souboru.docker export web > web.tar
Vytvoří obraz z tar souborového systému.docker import web.tar web:snap
Převede aktuální stav kontejneru na nový obraz.docker commit web app:snap
Svazky
Vytvoří pojmenovaný svazek pro trvalá data.docker volume create data
Vypíše svazky.docker volume ls
Odstraní svazek.docker volume rm data
Sítě
Vypíše sítě.docker network ls
Vytvoří síť, aby se kontejnery mohly navzájem dosáhnout.docker network create net
Připojí běžící kontejner k síti.docker network connect net web
Compose
Sestaví, (znovu) vytvoří a spustí služby z compose.yaml; -d je nechá běžet na pozadí.docker compose up -d
Spustí služby a předtím znovu sestaví jejich obrazy.docker compose up --build -d
Spustí příkaz uvnitř běžícího kontejneru služby.docker compose exec api sh
Sleduje logy jedné nebo více služeb.docker compose logs -f api
Vypíše kontejnery služeb, které Compose spravuje.docker compose ps
Zastaví kontejnery služeb, aniž by je odstranil.docker compose stop
Restartuje kontejnery služeb.docker compose restart api
Zastaví a odstraní kontejnery a sítě; -v odstraní také pojmenované svazky.docker compose down
Zobrazí konečnou konfiguraci Compose po slučování a substituci proměnných.docker compose config
Úklid
Odstraní zastavené kontejnery, dangling obrazy a nepoužívané sítě; -a --volumes odstraní také nepoužívané obrazy a svazky.docker system prune -af
Odstraní všechny zastavené kontejnery.docker container prune
Odstraní nepoužívané nebo dangling obrazy.docker image prune -a
Odstraní svazky, které žádný kontejner nepoužívá.docker volume prune
Odstraní sítě, které žádný kontejner nepoužívá.docker network prune
Odstraní cachované vrstvy sestavování.docker builder prune