Docker tahák

Docker tahák

Na support01 spouštějte Docker se sudo (vynechte ho, pokud je váš uživatel ve skupině docker).

Kontejnery

ÚkolPříkaz
Spustit na pozadí a publikovat portsudo docker run -d --name web -p 8080:80 nginx:1.27
Spustit interaktivně, po skončení smazatsudo docker run -it --rm busybox sh
Výpis běžících / všechsudo docker ps / sudo docker ps -a
Logy, sledovat průběžněsudo docker logs -f web
Shell do běžícího kontejnerusudo docker exec -it web sh
Stop / start / restartsudo docker stop web / start web / restart web
Smazat (vynuceně)sudo docker rm -f web
Procesy, živé statistikysudo docker top web / sudo docker stats
Kompletní detail v JSONsudo docker inspect web
Jedno pole z inspectusudo docker inspect -f '{{.NetworkSettings.IPAddress}}' web
Omezit zdrojesudo docker run -d --memory 128m --cpus 0.5 nginx:1.27

Image

ÚkolPříkaz
Hledat / stáhnoutsudo docker search nginx / sudo docker pull nginx:1.27
Výpis / smazánísudo docker images / sudo docker rmi nginx:1.27
Historie vrstevsudo docker history nginx:1.27
Build z Dockerfilesudo docker build -t myapp:1.0 .
Tag / pushsudo docker tag myapp:1.0 registry/myapp:1.0 / push
Uložit / načíst tarsudo docker save -o myapp.tar myapp:1.0 / load -i myapp.tar

Sítě

ÚkolPříkaz
Výpis sítísudo docker network ls
Vytvořit vlastní síťsudo docker network create appnet
Připojit při spuštěnísudo docker run -d --network appnet --name db mysql:8
Připojit / odpojit pozdějisudo docker network connect appnet web / disconnect
Host / žádná síť--network host / --network none

Kontejnery na stejné uživatelsky vytvořené síti se najdou podle jména. Na výchozím bridge ne.

Volumes a mounty

ÚkolPříkaz
Vytvořit / vypsat / detailsudo docker volume create data / ls / inspect data
Pojmenovaný volumesudo docker run -d -v data:/var/lib/mysql mysql:8
Bind mount adresáře hostitelesudo docker run -d -v /srv/site:/usr/share/nginx/html:ro nginx:1.27
Smazat nepoužívanésudo docker volume prune

Úklid

sudo docker rm -f $(sudo docker ps -aq)
sudo docker system df
sudo docker system prune -a

Reference

docs.docker.com/reference/cli/docker