Deprecated: Parsedown::blockSetextHeader(): Implicitly marking parameter $Block as nullable is deprecated, the explicit nullable type must be used instead in /var/www/html/lib/Parsedown.php on line 715

Deprecated: Parsedown::blockTable(): Implicitly marking parameter $Block as nullable is deprecated, the explicit nullable type must be used instead in /var/www/html/lib/Parsedown.php on line 853

Deprecated: ParsedownExtra::blockSetextHeader(): Implicitly marking parameter $Block as nullable is deprecated, the explicit nullable type must be used instead in /var/www/html/lib/ParsedownExtra.php on line 241
3. Docker: instalace a první kontejner (13 min)

3. Docker: instalace a první kontejner (13 min)

Výstup bloku: Docker Desktop běží a každý má spuštěný jednoduchý kontejner s hrou.

Instalace Docker Desktop (5 min)

Většina by ho měla mít nainstalovaný z přípravy. Ostatním pomoci.

  1. Stáhnout z https://www.docker.com/products/docker-desktop/.
  2. Windows: zapnout WSL 2 (instalátor to nabídne), po instalaci restart.
  3. macOS: vybrat správnou architekturu (Apple Silicon / Intel).
  4. Spustit Docker Desktop, počkat na stav „Engine running“.

Kontrola v terminálu:

docker --version
docker compose version
docker run hello-world

Pokud hello-world vypíše uvítací zprávu, vše funguje.

Typické problémy

Docker Desktop: co v něm najdu (2 min)

Docker run: jednoduchá hra (6 min)

Spustit hru 2048 v prohlížeči:

docker run -d --name hra -p 8080:80 alexwhen/docker-2048

Otevřít http://localhost:8080 a zahrát si.

Co jednotlivé přepínače dělají:

Část Význam
-d běží na pozadí
--name hra název kontejneru
-p 8080:80 port počítače : port v kontejneru
alexwhen/docker-2048 image, který se stáhne z Docker Hubu

Užitečné příkazy:

docker ps                # běžící kontejnery
docker logs hra          # výpis z kontejneru
docker stop hra          # zastavit
docker rm hra            # smazat kontejner
docker images            # stažené image

Cvičení: spustit druhou instanci na portu 8081 (--name hra2), pak obě zastavit a smazat. Smysl: ukázat, že kontejner je zahoditelný.

Alternativa, kdyby alexwhen/docker-2048 nešel stáhnout: docker run -d -p 8080:80 nginx (uvítací stránka nginx).