Ściąga Docker
Przeszukiwalny, gotowy do druku przewodnik po Docker — obrazy, kontenery, opcje uruchamiania, Dockerfile, woluminy, sieci, Compose i czyszczenie. Za darmo.
Obrazy
10docker pull nginx:latest
Pobierz obraz z rejestru
docker images
Wypisz lokalnie przechowywane obrazy
docker build -t app:1.0 .
Zbuduj obraz z bieżącego katalogu
docker tag app:1.0 app:latest
Dodaj nowy tag do istniejącego obrazu
docker rmi app:1.0
Usuń lokalny obraz
docker history app:1.0
Pokaż warstwy obrazu
docker inspect app:1.0
Pokaż niskopoziomowe szczegóły obrazu (JSON)
docker save -o app.tar app:1.0
Wyeksportuj obraz do archiwum tar
docker load -i app.tar
Zaimportuj obraz z archiwum tar
docker image prune
Usuń osierocone (nieużywane) obrazy
Kontenery
10docker ps
Wypisz działające kontenery
docker ps -a
Wypisz wszystkie kontenery (też zatrzymane)
docker run nginx
Utwórz i uruchom nowy kontener
docker start web
Uruchom zatrzymany kontener
docker stop web
Łagodnie zatrzymaj kontener
docker restart web
Uruchom ponownie kontener
docker kill web
Wymuś zatrzymanie kontenera (SIGKILL)
docker rm web
Usuń zatrzymany kontener
docker rename web api
Zmień nazwę kontenera
docker pause web
Wstrzymaj wszystkie procesy w kontenerze
Opcje uruchamiania
11docker run -d nginx
Uruchom odłączony w tle
docker run -it ubuntu bash
Interaktywna sesja terminala
docker run --name web nginx
Nadaj kontenerowi własną nazwę
docker run -p 8080:80 nginx
Zmapuj port hosta na port kontenera
docker run -v data:/var/lib nginx
Zamontuj nazwany wolumen
docker run -e ENV=prod app
Ustaw zmienną środowiskową
docker run --rm alpine echo hi
Automatycznie usuń po zakończeniu
docker run --network mynet app
Podłącz do konkretnej sieci
docker run --restart unless-stopped app
Zasady ponownego uruchamiania kontenera
docker run -w /app node
Ustaw katalog roboczy
docker run --memory 512m --cpus 1.5 app
Ogranicz użycie pamięci i CPU
Exec i logi
10docker exec -it web bash
Otwórz powłokę wewnątrz kontenera
docker exec web ls /app
Uruchom jednorazowe polecenie w kontenerze
docker logs web
Pokaż logi kontenera
docker logs -f web
Śledź (tail) logi w czasie rzeczywistym
docker top web
Wypisz procesy działające w kontenerze
docker stats
Bieżące zużycie zasobów kontenerów
docker attach web
Podłącz do działającego kontenera
docker cp web:/app/log.txt .
Kopiuj pliki między hostem a kontenerem
docker port web
Pokaż mapowania portów kontenera
docker inspect web
Pokaż niskopoziomowe szczegóły kontenera
Budowanie i Dockerfile
14FROM node:20-alpine
Obraz bazowy dla budowy
WORKDIR /app
Ustaw katalog roboczy
COPY . .
Kopiuj pliki do obrazu
ADD app.tar.gz /app
Kopiuj (i auto-wypakuj archiwa/URL-e)
RUN npm install
Wykonaj polecenie podczas budowy
ENV NODE_ENV=production
Ustaw trwałą zmienną środowiskową
ARG VERSION=1.0
Argument czasu budowy
EXPOSE 3000
Udokumentuj nasłuchiwany port
VOLUME /data
Zadeklaruj punkt montowania
USER node
Uruchom jako użytkownik inny niż root
HEALTHCHECK CMD curl -f localhost
Zdefiniuj kontrolę kondycji kontenera
CMD ['node', 'app.js']
Polecenie domyślne (nadpisywalne)
ENTRYPOINT ['docker-entrypoint.sh']
Stały plik wykonywalny kontenera
FROM build AS final
Odwołanie do etapu budowy wieloetapowej
Wolumeny
10docker volume create data
Utwórz nazwany wolumen
docker volume ls
Wypisz wszystkie wolumeny
docker volume inspect data
Pokaż szczegóły wolumenu
docker volume rm data
Usuń wolumen
docker volume prune
Usuń wszystkie nieużywane wolumeny
docker run -v data:/app nginx
Zamontuj nazwany wolumen
docker run -v $(pwd):/app nginx
Zamontuj bieżący katalog (bind-mount)
docker run -v $(pwd):/app:ro nginx
Bind-mount tylko do odczytu
docker run --mount type=volume,src=data,dst=/app nginx
Zamontuj, używając rozbudowanej składni
docker run --tmpfs /tmp nginx
Zamontuj tmpfs w pamięci
Sieci
10docker network create mynet
Utwórz sieć zdefiniowaną przez użytkownika
docker network ls
Wypisz sieci
docker network inspect mynet
Pokaż szczegóły sieci
docker network connect mynet web
Podłącz kontener do sieci
docker network disconnect mynet web
Odłącz kontener od sieci
docker network rm mynet
Usuń sieć
docker network prune
Usuń wszystkie nieużywane sieci
docker network create -d bridge mynet
Utwórz sieć z określonym sterownikiem
docker run --network host nginx
Użyj stosu sieciowego hosta
docker run --network none alpine
Wyłącz sieć dla kontenera
Docker Compose
11docker compose up -d
Uruchom wszystkie usługi w tle
docker compose down
Zatrzymaj i usuń stos
docker compose ps
Wypisz usługi w stosie
docker compose logs -f
Śledź logi ze wszystkich usług
docker compose build
Zbuduj lub przebuduj obrazy usług
docker compose pull
Pobierz najnowsze obrazy usług
docker compose exec web bash
Uruchom polecenie w działającej usłudze
docker compose restart
Uruchom ponownie wszystkie usługi
docker compose stop
Zatrzymaj usługi bez ich usuwania
docker compose config
Sprawdź i wyświetl scaloną konfigurację
docker compose up --scale web=3
Uruchom wiele replik usługi
Rejestr
8docker login
Uwierzytelnij się w rejestrze
docker login registry.example.com
Zaloguj się do własnego rejestru
docker logout
Usuń zapisane poświadczenia rejestru
docker tag app user/app:1.0
Otaguj obraz dla repozytorium
docker push user/app:1.0
Wyślij obraz do rejestru
docker pull user/app:1.0
Pobierz obraz z rejestru
docker search nginx
Szukaj obrazów w Docker Hub
docker manifest inspect nginx
Sprawdź manifest wieloarchitektoniczny
System i czyszczenie
10docker info
Pokaż systemowe informacje Docker
docker version
Pokaż wersje klienta i serwera
docker system df
Pokaż użycie dysku przez Docker
docker system prune
Usuń nieużywane dane (bezpieczne domyślne)
docker system prune -a
Usuń wszystkie nieużywane obrazy i dane
docker container prune
Usuń wszystkie zatrzymane kontenery
docker image prune
Usuń osierocone obrazy
docker volume prune
Usuń wszystkie nieużywane wolumeny
docker network prune
Usuń wszystkie nieużywane sieci
docker stats --no-stream
Migawka zużycia zasobów
Żaden wpis nie pasuje do „:q”.
Potrzebujesz pomocy?
Masz problem z tym narzędziem? Daj nam znać.