Karta szybkiego odwołania do Dockera

Niektóre często stosowane parametry poleceń Docker

Page content

Oto szkolenie z Docker pokrywające najważniejsze polecenia i koncepcje od instalacji po uruchamianie kontenerów i porządkowanie:

docker logo

Ten przewodnik jest częścią Narzędzia deweloperskie: Kompletny przewodnik po nowoczesnych przepływach pracy.

Instalacja

Aby uzyskać kompletny przewodnik dotyczący instalacji Dockera na Ubuntu — porównujący oficjalne repozytorium APT, docker.io, Snap, tryb bez uprawnień roota i konfigurację wtyczki Compose — zobacz Instalacja Dockera na Ubuntu.

Po instalacji dodaj swojego użytkownika do grupy docker, jeśli chcesz uruchamiać polecenia bez sudo:

sudo usermod -aG docker $USER
newgrp docker
docker run hello-world

Przewodnik instalacyjny omawia również kompromisy bezpieczeństwa wynikające z członkostwa w grupie docker oraz alternatywy bez uprawnień roota.

Ogólne polecenia Dockera

Wersja i informacje o systemie

docker version          # Wyświetla wersje CLI i demona Dockera
docker system info      # Wyświetla dane o środowisku Dockera
docker help             # Wyświetla indeks pomocy
docker <command> --help # Wyświetla informacje pomocy dla konkretnego polecenia

Logowanie i wylogowanie

docker login            # Logowanie do Docker Hub
docker logout           # Wylogowanie z Docker Hub

Zarządzanie obrazami

Lista obrazów

docker images           # Wyświetla listę wszystkich obrazów
docker images -a        # Wyświetla listę wszystkich obrazów, w tym obrazów pośrednich

Pobieranie obrazów

docker pull <nazwa-obrazu:wersja> # Pobiera obraz z Docker Hub

Budowanie obrazów

docker build -t <nazwa-obrazu> . # Buduje obraz z Dockerfile w bieżącym katalogu
docker build -f <ścieżka-do-Dockerfile> -t <nazwa-obrazu> . # Buduje obraz z określonego Dockerfile
docker build --build-arg foo=bar . # Buduje obraz z argumentami budowania
docker build --pull . # Pobiera zaktualizowane wersje obrazów odwołanych w instrukcjach FROM
docker build --quiet . # Buduje obraz bez wyświetlania informacji o postepie

Oznaczanie i wysyłanie obrazów

docker tag <lokalna-nazwa-obrazu> <nazwa-uzyskownika>/<preferowana-nazwa-obrazu>
docker push <nazwa-uzyskownika>/<preferowana-nazwa-obrazu>

Usuwanie obrazów

docker rmi <nazwa-obrazu>        # Usuwa określony obraz
docker image prune             # Usuwa nieużywane obrazy
docker image prune -a          # Usuwa wszystkie nieużywane obrazy

Usuwanie obrazów wiszących

docker rmi $(docker images --filter "dangling=true" -q --no-trunc)

Usuwanie oznaczenia obrazu

docker rmi repository/image-name:tag

Zarządzanie kontenerami

Uruchamianie kontenerów

docker run -itd --name <nazwa-kontenera> <nazwa-obrazu> # Uruchamia kontener w trybie odłączonym
docker run -it -p <port-hosta>:<port-dockera> <nazwa-obrazu> # Uruchamia kontener z mapowaniem portów
docker run -it --name <nazwa-kontenera> <nazwa-obrazu> # Uruchamia kontener interaktywnie

Lista kontenerów

docker ps                  # Wyświetla listę uruchomionych kontenerów
docker ps -a               # Wyświetla listę wszystkich kontenerów
docker ps -s               # Wyświetla listę uruchomionych kontenerów z użyciem CPU i pamięci

Start, stop i restart kontenerów

docker start <nazwa-kontenera>   # Uruchamia zatrzymany kontener
docker stop <nazwa-kontenera>    # Zatrzymuje uruchomiony kontener
docker restart <nazwa-kontenera> # Restartuje kontener

Usuwanie kontenerów

docker rm <nazwa-kontenera>      # Usuwa zatrzymany kontener
docker rm -f <nazwa-kontenera>   # Wymusza usunięcie kontenera
docker stop $(docker ps -a -q) && docker rm $(docker ps -a -q) # Usuwa wszystkie kontenery

usuwanie wszystkich zatrzymanych kontenerów

docker container prune

Dołączanie do kontenerów

docker attach <nazwa-kontenera>  # Dołącza do uruchomionego kontenera
docker exec -it <nazwa-kontenera> bash # Uruchamia polecenie w interaktywnym kontenerze

Inspekcja kontenerów

docker inspect <nazwa-kontenera> # Inspekcja kontenera
docker logs <nazwa-kontenera>    # Wyświetla logi kontenera
docker port <nazwa-kontenera>    # Pokazuje mapowania portów kontenera

Zarządzanie siecią

docker network ls            # Wyświetla listę wszystkich sieci
docker network create <nazwa-sieci> # Tworzy nową sieć
docker network rm <nazwa-sieci>    # Usuwa sieć

Zarządzanie wolumenami

docker volume ls             # Wyświetla listę wszystkich wolumenów
docker volume create <nazwa-wolumenu> # Tworzy nowy wolumen
docker volume rm <nazwa-wolumenu>    # Usuwa wolumen
docker run -v <ścieżka-hosta>:<ścieżka-kontenera> <nazwa-obrazu> # Montuje wolumen

Docker Compose

Aby uzyskać więcej informacji na temat stosów wielokontenerowych i codziennych poleceń Compose, zobacz Docker Compose Cheatsheet. Aby uruchomić projekt Compose przy starcie i przetrwać restarty na serwerze Linux, Run Docker Compose as a Linux Service with systemd omawia pliki jednostek i nawyki operacyjne.

Podstawowe polecenia

docker-compose up           # Uruchamia usługi zdefiniowane w docker-compose.yml
docker-compose up -d        # Uruchamia usługi w trybie odłączonym
docker-compose down         # Zatrzymuje i usuwa usługi
docker-compose ps           # Wyświetla listę uruchomionych usług
docker-compose logs         # Wyświetla logi usług
docker-compose start        # Uruchamia usługi
docker-compose stop         # Zatrzymuje usługi
docker-compose pause        # Wstrzymuje usługi
docker-compose unpause      # Wznawia usługi

Polecenia Dockerfile

Budowanie obrazu z Dockerfile

docker build -t <nazwa-obrazu> <ścieżka-do-Dockerfile> # Buduje obraz z Dockerfile

Przykładowy Dockerfile

FROM <bazowy-obraz>
RUN <polecenie>
COPY <źródło> <przeznaczenie>
EXPOSE <port>
CMD ["<polecenie>", "<argument>"]

Bezpieczeństwo i sekrety

Sekrety Dockera

docker secret create <nazwa-sekretu> <plik> # Tworzy sekret
docker secret ls                         # Wyświetla listę wszystkich sekretów
docker secret rm <nazwa-sekretu>          # Usuwa sekret

Bezpieczeństwo Dockera

  • Używaj sekretów Dockera do centralnego zarządzania poufnymi danymi i bezpiecznej transmisji do kontenerów.
  • Sekrety są szyfrowane podczas transmisji i w stanie spoczynku w klastrze Docker Swarm.

Porządkowanie

Usuwanie nieużywanych zasobów

docker system prune          # Usuwa nieużywane dane (obrazy, kontenery, sieci, wolumeny)
docker image prune           # Usuwa nieużywane obrazy
docker container prune       # Usuwa nieużywane kontenery
docker network prune         # Usuwa nieużywane sieci
docker volume prune          # Usuwa nieużywane wolumeny

Usuwanie obrazów bez oznaczeń

Czasami po dużym, dobrym kompilowaniu pojawia się obraz taki jak ten z polecenia docker images:

lot of untagged images

aby usunąć te obrazy z tagami :```bash docker rmi $(docker images –filter “dangling=true” -q –no-trunc)


powyższe jest stare i nieskompatybilne. parametr dangling=true jest przestarzały. Użyj

```bash
docker system prune

zapyta:

WARNING! This will remove:
	- all stopped containers
	- all volumes not used by at least one container
	- all networks not used by at least one container
	- all dangling images

Możesz zdecydować się powiedzieć Tak na to ostrzeżenie…

Ten szkolenie pokrywa niezbędne polecenia i koncepcje potrzebne do zarządzania kontenerami Docker, obrazami, sieciami, wolumenami i więcej. Aby uzyskać głębsze informacje, odwołaj się do szczegółowych przewodników i samouczków dostępnych online.

Przydatne linki

Subskrybuj

Otrzymuj nowe wpisy o systemach, infrastrukturze i inżynierii AI.