Docker - základy práce s kontejnery včetně příkladů
V tomto článku se podíváme na Docker jako úplný začátečník - provedeme instalaci, naučíme se vyhledávat kontejnery na Docker Hub, jejich následné spouštění, zastavení, mazání a další nepostradatelné operace.
Instalace
----------------------
sudo apt install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update && sudo apt install docker-ce
Docker bez sudo
-------------------
sudo usermod -aG docker ${USER}
Vyhledávání v Docker Hub
-------------------
docker search hello-world
Stažení kontejneru hello-world po vyhledání
-------------------
docker pull hello-world
či rovnou stáhnout a spustit
docker run hello-world
Stažení a spuštění kontejneru ubuntu v interaktivním režimu
-------------------
docker run -it ubuntu
Výpis všech aktivních kontejnerů
-------------------
sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
836f4688017e ubuntu "/bin/bash" 2 minutes ago Up 3 seconds sweet_wu
Výpis úplně všech kontejnerů
-------------------
sudo docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
836f4688017e ubuntu "/bin/bash" 2 minutes ago Up 3 seconds sweet_wu
cfe837f90c7f hello-world "/hello" 4 minutes ago Exited (0) 4 minutes ago busy_rubin
934fb8a9cf79 hello-world "/hello" 10 minutes ago Exited (0) 10 minutes ago agitated_mclaren
Výpis posledního kontejneru
-------------------
docker ps -l
Spuštění kontejneru
-------------------
dle názvu
sudo docker start sweet_wu
dle ID
sudo docker start 836f4688017e
Zastavení kontejneru
-------------------
dle názvu
sudo docker stop sweet_wu
Smazání jednoho kontejneru "agitated_mclaren"
-------------------
sudo docker rm agitated_mclaren
Výpis images
--------------
docker images
Hromadné akce
#vše zastavit
docker stop $(docker ps -a -q)
# vše smazat
docker rm $(docker ps -a -q)
#vše restartovat
restart docker restart $(docker ps -a -q)