Podczas codziennych prac z Docker bywa, że muszę wykorzystać komendę, której składni nie do końca pamiętam. Tyczy się to zwłaszcza komend rzadko stosowanych lub przypadków kiedy w CLI Docker rzuca nam błędami. Wówczas zamiast szukać i rozwiązywać konflikty czasem łatwiej jest usunąć wszystkie obrazy i zaciągnąć je ponownie. Dziś dzielę się listą najbardziej przydatnych operacji 🙂
// Aktualizacja 28.09.2020
Teraz listę komand możesz pobrać w postaci podręcznej ściągi
- wersja pdf (umożliwia swobodne kopiowanie komand)
- wersja jpg 2560 x 1140 (unikalna tapeta na Twój ekran 😎)
Kontenery
Użyj:
docker container nazwa_komendy nazwa_kontenera
komendy:
- start – uruchom istniejący kontener.
- run – utwórz nowy kontener i uruchom go.
- ls – wyświetla listę działających kontenerów.
- inspect – zobacz informacje o kontenerze.
- logs – pokaż logi kontenera.
- stop – zatrzymaj działanie kontenera.
- kill – gwałtownie zatrzymuje główny proces w kontenerze.
- rm – usuń zatrzymany kontener.
Obrazy
Użyj:
docker image nazwa_komendy nazwa_obrazu
komendy:
- build – zbuduj obraz.
- push – wrzuć obraz do zdalnego repozytorium.
- history – zobacz informacje o historii obrazu.
- inspect – zobacz informacje o obrazie i jego warstwach.
- rm – usuń obraz.
Budowanie
Budowanie obrazu na podstawie Dockerfile znajdującym się bieżącym katalogu:
docker build -t myimage:1.0 .
Lista wszystkich obrazów:
docker image ls
Uruchamianie
Uruchomienie kontenera „web” w wersji Alpine 3.9 z wystawieniem zewnętrznego portu 5000 przy wewnętrznym porcie 80:
docker container run --name web -p 5000:80 alpine:3.9
Zatrzymanie uruchomionego kontenera:
docker container stop web
Natychmiastowe (zabicie) zatrzymanie kontenera:
docker container kill web
Lista sieci:
docker network ls
Usuwanie
Usuwanie pojedynczego obrazu:
docker image rm alpine:3.4
Usuwanie wszystkich kontenerów:
docker rm -f $(docker ps -a -q)
Usuwanie wszystkich obrazów:
docker rmi -f $(docker images -a -q)
Czyszczenie wszystkich wolumenów:
docker volume rm $(docker volume ls -q)
Czyszczenie sieci:
docker network rm $(docker network ls | tail -n+2 | awk '{if($2 !~ /bridge|none|host/){ print $1 }}')
Jeśli znasz interesujące komendy to podrzuć je, dla wzbogacenia bazy wiedzy 🙂