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