Docker Cheatsheet
Częste parametry polecenia docker
Page content
Oto arkusz skrótów Docker
zawierający najważniejsze polecenia i koncepcje od instalacji po uruchamianie kontenerów i czyszczenie:
Instalacja
Na Ubuntu
sudo apt install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"
sudo apt update
sudo apt install docker-ce
sudo systemctl start docker
Instalacja Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
docker-compose --version
Ogólne polecenia Docker
Wersja i informacje systemowe
docker version # Wyświetla wersje klienta i demona Docker
docker system info # Wyświetla dane dotyczące środowiska Docker
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 # Lista wszystkich obrazów
docker images -a # Lista wszystkich obrazów, w tym obrazów pośrednich
Pobieranie obrazów
docker pull <image-name:version> # Pobieranie obrazu z Docker Hub
Budowanie obrazów
docker build -t <image-name> . # Budowanie obrazu z Dockerfile w bieżącym katalogu
docker build -f <Dockerfile-path> -t <image-name> . # Budowanie obrazu z konkretnego Dockerfile
docker build --build-arg foo=bar . # Budowanie obrazu z argumentami budowania
docker build --pull . # Pobieranie zaktualizowanych wersji obrazów odwołanych w instrukcjach FROM
docker build --quiet . # Budowanie obrazu bez emitowania danych wyjściowych
Tagowanie i przesyłanie obrazów
docker tag <local-image-name> <username>/<preferred-image-name>
docker push <username>/<preferred-image-name>
Usuwanie obrazów
docker rmi <image-name> # Usuwanie konkretnego obrazu
docker image prune # Usuwanie nieużywanych obrazów
docker image prune -a # Usuwanie wszystkich nieużywanych obrazów
Usuwanie obrazów bez etykiet
docker rmi $(docker images --filter "dangling=true" -q --no-trunc)
Usuwanie etykiety obrazu
docker rmi repository/image-name:tag
Zarządzanie kontenerami
Uruchamianie kontenerów
docker run -itd --name <container-name> <image-name> # Uruchamianie kontenera w trybie oddzielnym
docker run -it -p <host-port>:<docker-port> <image-name> # Uruchamianie kontenera z mapowaniem portów
docker run -it --name <container-name> <image-name> # Uruchamianie kontenera interaktywnie
Lista kontenerów
docker ps # Lista uruchomionych kontenerów
docker ps -a # Lista wszystkich kontenerów
docker ps -s # Lista uruchomionych kontenerów z użyciem CPU i pamięci
Uruchamianie, zatrzymywanie i ponowne uruchamianie kontenerów
docker start <container-name> # Uruchamianie zatrzymanego kontenera
docker stop <container-name> # Zatrzymywanie uruchomionego kontenera
docker restart <container-name> # Ponowne uruchamianie kontenera
Usuwanie kontenerów
docker rm <container-name> # Usuwanie zatrzymanego kontenera
docker rm -f <container-name> # Siłowe usuwanie kontenera
docker stop $(docker ps -a -q) && docker rm $(docker ps -a -q) # Usuwanie wszystkich kontenerów
usuwanie wszystkich zatrzymanych kontenerów
docker container prune
Dołączanie do kontenerów
docker attach <container-name> # Dołączanie do uruchomionego kontenera
docker exec -it <container-name> bash # Uruchamianie polecenia w uruchomionym kontenerze interaktywnie
Inspekcja kontenerów
docker inspect <container-name> # Inspekcja kontenera
docker logs <container-name> # Wyświetlanie logów kontenera
docker port <container-name> # Wyświetlanie mapowań portów kontenera
Zarządzanie sieciami
docker network ls # Lista wszystkich sieci
docker network create <network-name> # Tworzenie nowej sieci
docker network rm <network-name> # Usuwanie sieci
Zarządzanie woluminami
docker volume ls # Lista wszystkich woluminów
docker volume create <volume-name> # Tworzenie nowego woluminu
docker volume rm <volume-name> # Usuwanie woluminu
docker run -v <host-path>:<container-path> <image-name> # Montowanie woluminu
Docker Compose
Podstawowe polecenia
docker-compose up # Uruchamianie usług zdefiniowanych w docker-compose.yml
docker-compose up -d # Uruchamianie usług w trybie oddzielnym
docker-compose down # Zatrzymywanie i usuwanie usług
docker-compose ps # Lista uruchomionych usług
docker-compose logs # Wyświetlanie logów usług
docker-compose start # Uruchamianie usług
docker-compose stop # Zatrzymywanie usług
docker-compose pause # Wstrzymywanie usług
docker-compose unpause # Wznowienie usług
Polecenia Dockerfile
Budowanie obrazu z Dockerfile
docker build -t <image-name> <Dockerfile-path> # Budowanie obrazu z Dockerfile
Przykładowy Dockerfile
FROM <base-image>
RUN <command>
COPY <source> <destination>
EXPOSE <port>
CMD ["<command>", "<argument>"]
Bezpieczeństwo i sekrety
Sekrety Docker
docker secret create <secret-name> <file> # Tworzenie sekretu
docker secret ls # Lista wszystkich sekretów
docker secret rm <secret-name> # Usuwanie sekretu
Bezpieczeństwo Docker
- Używaj sekretów Docker do centralnego zarządzania wrażliwymi danymi i bezpiecznego przesyłania ich do kontenerów.
- Sekrety są szyfrowane podczas przesyłania i w stanie spoczynku w swarze Docker.
Czyszczenie
Usuwanie nieużywanych zasobów
docker system prune # Usuwanie nieużywanych danych (obrazy, kontenery, sieci, woluminy)
docker image prune # Usuwanie nieużywanych obrazów
docker container prune # Usuwanie nieużywanych kontenerów
docker network prune # Usuwanie nieużywanych sieci
docker volume prune # Usuwanie nieużywanych woluminów
Usuwanie obrazów bez etykiet
Czasami po dużej kompilacji pojawia się obraz tak jak ten z polecenia docker images
:
Aby usunąć te obrazy z tagami
docker rmi $(docker images --filter “dangling=true” -q --no-trunc)
powyższe polecenie jest stare i niekompatybilne. Parametr dangling=true jest przestarzały. Użyj
docker system prune
to polecenie zapyta:
UWAGA! To usunie:
- wszystkie zatrzymane kontenery
- wszystkie woluminy nie używane przez co najmniej jeden kontener
- wszystkie sieci nie używane przez co najmniej jeden kontener
- wszystkie obrazy bez etykiet
Możesz zdecydować się na odpowiedzenie Tak na to ostrzeżenie…
Ten arkusz zawiera niezbędne polecenia i koncepcje potrzebne do zarządzania kontenerami, obrazami, sieciami, woluminami i innymi elementami Docker. Aby uzyskać głębszy wgląd, odniesienie się do szczegółowych przewodników i tutoriali dostępnych online.
Przydatne linki
- Arkusz skrótów Python
- Arkusz skrótów Conda
- Arkusz skrótów Bash
- Arkusz skrótów Ollama
- Arkusz skrótów Kubernetes
- Kodowanie i dekodowanie Base64 w Windows, Linux i Mac
- Instalacja Portainera na Linux
- Ponowna instalacja Linux
- Jak uruchomić okna terminala w formacie płytkowym w Linux Mint i Ubuntu
- Minio jako alternatywa dla AWS S3. Omówienie i instalacja Minio
- Parametry wiersza poleceń MinIO. Arkusz skrótów