HA – Docker commands
sudo apt update && sudo apt upgrade
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
usermod -aG docker uživatel (přidá uživatele do skupiny docker – aby mohl spouštět docker příkazy bez sudo)
dockerfile (bez přípony) – je konfigurační textový soubor, do kterého zapisujeme příkazy na automatizaci sestavení (build) a spuštění (run) obrazu (image).
docker build (sestaví image)
docker image ls (vypíše seznam images)
docker run (spustí image)
docker ps (vypíše seznam běžících images a jejich ContainerID (12 znaků))
docker stop ContainerID (zastaví konteiner ContainerID)
docker start ContainerID (spustí konteiner ContainerID)
docker rm ContainerID (smaže konteiner ContainerID)
———-
VOLUME – sdílený obsah mezi dostitelem a kontejnerem
v dockerfile specifikovat WORKDIR cestu
docker build -t název
docker run -d -v ~/docker-test/html:/usr/share/nginx/html název (Cesta v hostitelskému počítači je vždy první (vlevo od dvojtečky) a cesta v kontejneru vždy druhá (vpravo od dvojtečky).)
dojde k vyčlenění dat, pak už stačí zálohovat pouze složku volume 🙂
——-
NETWORK – propojení hostitele s kontejnerem nebo kontejnerů navzájem
docker run -d -v ~/docker-test/html:/usr/share/nginx/html -p 80:8080 název
(propojí port kontejneru s portem hostitele) to je nastavení -p 80:8080
, které komunikaci na portu 80
v kontejneru (číslo před dvojtečkou) zveřejní i na portu 8080
na hostitelském systému (číslo za dvojtečkou)
propojení kontejnerů:
docker network create NázevSítě (vytvoříme síť)
docker network ls (vypíše sítě)
Sestavíme a spustíme kontejnery a pomocí nastavení --net=NázevSítě
přidáme do sítě
Zjistíme IP adresy kontejnerů přiřazených do sítě s názvem sit-test
:
docker network inspect sit-test
————
COMPOSE – umožnuje spouštění a konfiguraci vícerých kontejnerů.
———-
SWARM – umožnuje pracovat s vícero hostitelskými systémy.
DOCKER – příkazy
docker version (vypíše verzi dockeru)
docker info (výpis informací o vaší instalaci Dockeru)
docker run hello world ()
docker ps (vypíše běžící kontejnery)
docker ps -a (vypíše běžící kontejnery,i zastavené)
docker images (výpis existujících obrazů)
docker build -t název .název (sestavení image název dle souboru Dockerfile )
docker run název (spuštění image název)
docker search NAZEV (hledá kontejner název na hub.docker.com)
docker pull ( Image se stáhne do lokálního úložiště a uvidíme ho na svém image listu)
docker exec -it e286a85fdcac /bin/bash (spustíte konzoli, tedy bash interpretru v kontejneru s ID e286a85fdcac)
docker run -ditp 8080:80 web (spustíte kontejneru z image web a namapujete lokální portu 8080 na port 80 kontejneru)
docker run -it -p 80:80 nginx (spustí webserver nginx)
docker pull nginx
docker cp foo.txt mycontainer:/foo.txt (Nakopírování souboru do běžícího kontejneru)
docker inspect -f ‚{{ .Mounts }}‘ containerid (Výpis všech docker kontejnerů)
docker rmi hello-world (Smazání image)
docker rmi $(docker images -a -q) -f (Všechny docker image smažete)
docker system prune -a (smaže všechny kontejnery, sítě, image, a zbuildované cache)
docker update –restart no 491dfa4b274a (Vypnutí automatického spuštění kontejneru po restartu počítače)
docker update –restart always 491dfa4b274a (Nastavení automatického startu kontejneru po startu počítače)
docker stop [container name] – zastavuje kontejner
docker start [container name] – spouští kontejner
docker rm [container name] – maže kontejner. (Je možné mazat jen zastavené kontejnery. Smazáním kontejneru se nevymaže jeho image.)
docker inspect [container name] – ukáže detaily o kontejneru
docker logs [container name] – zobrazuje logy kontejneru
docker images – ověřuje dostupnost image
docker images rm [IMAGE_ID] – maže image
restart