Skip to content

Polecenia Dockera wyjaśnione

Polecenia Dockera używane na co dzień, pogrupowane według zadań: budowanie i przenoszenie obrazów, uruchamianie i zatrzymywanie kontenerów, dostrajanie docker run flagami, czytanie logów i statystyk, zaglądanie do kontenera, kopiowanie plików i praca z rejestrami, zarządzanie wolumenami i sieciami, sterowanie Compose oraz odzyskiwanie miejsca na dysku.

Docker dzieli się na dwa obiekty: obrazy (szablon tylko do odczytu) i kontenery (uruchomiona instancja obrazu). Budujesz lub pobierasz obraz, uruchamiasz go jako kontener, sprawdzasz, co się dzieje, a potem sprzątasz. Większość osób używa też Compose do deklarowania aplikacji wielokontenerowych. Każde poniższe polecenie ma krótką formę; długa forma jest pokazana tam, gdzie jest czytelniejsza.

Tabela referencyjna · 75 wpisy
75 of 75 rows
Budowanie
Buduje obraz na podstawie pliku Dockerfile.docker build -t app:1.0 .
Buduje obraz od zera, ignorując zbuforowane warstwy.docker build --no-cache -t app:1.0 .
Buduje tylko do nazwanego etapu w wieloetapowym pliku Dockerfile.docker build --target deps -t app:deps .
Buduje obrazy przez wtyczkę buildx, która steruje BuildKitem.docker buildx build -t app:1.0 .
Buduje jeden obraz dla kilku architektur CPU.docker buildx build --platform linux/amd64,linux/arm64 -t app:1.0 --push .
Obrazy
Pobiera obraz z rejestru.docker pull node:20
Wyświetla listę obrazów zapisanych lokalnie.docker images
Tworzy nowy tag wskazujący ten sam obraz.docker tag app:1.0 app:latest
Usuwa jeden lub więcej lokalnych obrazów.docker rmi app:1.0
Cykl życia kontenera
Tworzy i uruchamia kontener na podstawie obrazu.docker run -p 8080:3000 app
Tworzy kontener bez jego uruchamiania.docker create --name web app
Uruchamia zatrzymany kontener.docker start web
Zatrzymuje działający kontener w kontrolowany sposób.docker stop web
Zatrzymuje i uruchamia kontener w jednym kroku.docker restart web
Zatrzymuje kontener siłą, bez czekania na bezpieczne zamknięcie.docker kill web
Zamraża wszystkie procesy wewnątrz kontenera.docker pause web
Wznawia procesy wstrzymanego kontenera.docker unpause web
Czeka, aż kontener się zatrzyma, i wypisuje jego kod wyjścia.docker wait web
Wyświetla działające kontenery; dodaj -a, aby uwzględnić zatrzymane.docker ps -a
Nadaje istniejącemu kontenerowi nową nazwę.docker rename web web-old
Zmienia limity zasobów lub politykę restartu kontenera.docker update --restart=unless-stopped web
Usuwa zatrzymany kontener.docker rm web
Flagi polecenia run
Uruchamia kontener w tle i wypisuje jego identyfikator.docker run -d -p 8080:80 app
Publikuje port kontenera na porcie hosta.docker run -p 8080:80 app
Montuje folder hosta lub nazwany wolumen w kontenerze.docker run -v app-data:/data app
Ustawia zmienną środowiskową w kontenerze.docker run -e MODE=prod app
Nadaje kontenerowi stałą nazwę do użycia w kolejnych poleceniach.docker run --name web app
Usuwa kontener po jego zakończeniu.docker run --rm app
Uruchamia kontener w określonej sieci.docker run --network net app
Mówi Dockerowi, kiedy ponownie uruchomić kontener.docker run --restart unless-stopped app
Przydziela terminal i utrzymuje otwarty stdin dla sesji interaktywnej.docker run -it alpine sh
Zastępuje entrypoint obrazu własnym poleceniem.docker run --entrypoint sh app
Ogranicza pamięć lub udział CPU dostępny dla kontenera.docker run --memory 512m --cpus 0.5 app
Inspekcja
Czyta stdout i stderr kontenera; -f śledzi nowe dane w miarę ich napływania.docker logs -f web
Pokazuje szczegółową konfigurację i stan kontenera lub obrazu.docker inspect web
Wyciąga jedno pole z inspect za pomocą szablonu Go.docker inspect --format '{{.State.Status}}' web
Wyświetla porty hosta, które publikuje kontener.docker port web
Pokazuje pliki zmienione przez kontener względem jego obrazu.docker diff web
CPU, pamięć i sieć na żywo dla działających kontenerów.docker stats
Wyświetla procesy działające wewnątrz kontenera.docker top web
Przesyła strumieniowo zdarzenia Dockera z demona w miarę ich występowania.docker events --filter type=container
Pokazuje miejsce na dysku używane przez obrazy, kontenery, wolumeny i cache.docker system df
Pokazuje ustawienia i stan Dockera w całym systemie.docker info
Exec i attach
Uruchamia polecenie wewnątrz działającego kontenera.docker exec -it web sh
Podłącza twój terminal do głównego procesu kontenera.docker attach web
Pliki i rejestr
Kopiuje pliki między kontenerem a lokalnym systemem plików.docker cp web:/app/logs ./logs
Loguje się do rejestru z interfejsu CLI.docker login
Wylogowuje się z rejestru.docker logout
Wysyła lokalny obraz do rejestru.docker push user/app:1.0
Zapisuje obraz do pliku tar.docker save -o app.tar app:1.0
Wczytuje obraz z pliku tar.docker load -i app.tar
Zapisuje system plików kontenera do pliku tar.docker export web > web.tar
Tworzy obraz z systemu plików tar.docker import web.tar web:snap
Zamienia bieżący stan kontenera na nowy obraz.docker commit web app:snap
Wolumeny
Tworzy nazwany wolumen na trwałe dane.docker volume create data
Wyświetla listę wolumenów.docker volume ls
Usuwa wolumen.docker volume rm data
Sieci
Wyświetla listę sieci.docker network ls
Tworzy sieć, aby kontenery mogły się ze sobą łączyć.docker network create net
Podłącza działający kontener do sieci.docker network connect net web
Compose
Buduje, (ponownie) tworzy i uruchamia usługi z compose.yaml; -d pozostawia je działające w tle.docker compose up -d
Uruchamia usługi i najpierw przebudowuje ich obrazy.docker compose up --build -d
Uruchamia polecenie wewnątrz działającego kontenera usługi.docker compose exec api sh
Śledzi logi jednej lub więcej usług.docker compose logs -f api
Wyświetla kontenery usług zarządzane przez Compose.docker compose ps
Zatrzymuje kontenery usług bez ich usuwania.docker compose stop
Ponownie uruchamia kontenery usług.docker compose restart api
Zatrzymuje i usuwa kontenery oraz sieci; -v usuwa także nazwane wolumeny.docker compose down
Pokazuje finalną konfigurację Compose po scaleniach i podstawieniu zmiennych środowiskowych.docker compose config
Czyszczenie
Usuwa zatrzymane kontenery, wiszące obrazy i nieużywane sieci; -a --volumes usuwa także nieużywane obrazy i wolumeny.docker system prune -af
Usuwa wszystkie zatrzymane kontenery.docker container prune
Usuwa nieużywane lub wiszące obrazy.docker image prune -a
Usuwa wolumeny, których żaden kontener nie używa.docker volume prune
Usuwa sieci, których żaden kontener nie używa.docker network prune
Usuwa zbuforowane warstwy budowania.docker builder prune