Docker: Čo to je a ako funguje? (1. diel)

Docker pre začiatočníkov – prvé kroky, základné príkazy, reálne príklady a vysvetlenie, čo sa deje.

Docker: Čo to je a ako funguje? (1. diel)
Photo by Rubaitul Azad / Unsplash

Docker je nástroj na spúšťanie aplikácií v tzv. kontajneroch – ľahkých, izolovaných prostrediach, ktoré obsahujú všetko, čo aplikácia potrebuje (kód, knižnice, konfigurácie). V tomto úvodnom článku si vysvetlíme, čo je Docker, na čo slúži a ako sa s ním pracuje v praxi.

🔍 Prečo používať Docker?

  • Každá aplikácia beží vo svojom vlastnom prostredí
  • Jednoduché nasadenie na akýkoľvek server
  • Žiadne konflikty medzi verziami (napr. PHP 7.4 vs. 8.1)
  • Kontajner = prenositeľné a predvídateľné prostredie

📦 Kontajner vs. virtuálny stroj

Virtuálny stroj obsahuje celý operačný systém, čo zaberá stovky MB až GB. Docker kontajner je ľahký – beží nad rovnakým jadrom OS a spúšťa len to, čo je potrebné.

⚙️ Inštalácia Dockeru

Pre Linux (Ubuntu):

sudo apt update
sudo apt install docker.io
sudo systemctl enable --now docker
sudo usermod -aG docker $USER

Pre Windows/Mac odporúčame Docker Desktop: docker.com

🚀 Prvý príklad – spustenie webservera Nginx

docker run -d -p 8080:80 nginx

👉 Čo sa stalo:

  • Docker stiahol nginx image z Docker Hubu
  • Spustil kontajner na pozadí (-d = detached)
  • Mapoval port 8080 hosta na port 80 v kontajneri

👉 Výsledok: Ak navštíviš localhost:8080, uvidíš výstup z bežiaceho Nginxu.

🛑 Zastavenie a vymazanie kontajnera

docker ps

Zobrazí bežiace kontajnery. Skopíruj CONTAINER ID a:

docker stop <id>
docker rm <id>

Tým kontajner zastavíš a vymažeš z disku (image zostáva uložený).

📥 Stiahnutie iného image a spustenie databázy MySQL

docker pull mysql:8

Stiahne MySQL verzie 8.

docker run -d --name mysql-test \
  -e MYSQL_ROOT_PASSWORD=heslo \
  -p 3306:3306 mysql:8

👉 Kontajner s databázou, ktorú môžeš použiť v projekte. Heslo je nastavené cez premennú prostredia.

🔄 Prehľad najčastejších príkazov

  • docker images – zoznam dostupných image-ov
  • docker ps -a – všetky kontajnery (aj nebežiace)
  • docker exec -it <id> bash – pripojenie do bežiaceho kontajnera
  • docker logs <id> – výstup z aplikácie

🔚 Záver

Docker ti umožňuje pracovať s aplikáciami rýchlo, čisto a opakovateľne – bez zbytočného nastavovania. V ďalšom diely si ukážeme, ako vytvoriť vlastný Docker image pomocou Dockerfile a čo všetko si doň môžeš zabaliť.