praktická rekapitulace

Od prázdného VPS až k HTTPS webu v Dockeru

Tahle mini-dokumentace shrnuje celý postup, který jsme si prošli: Linuxový VPS, SSH, uživatelé a sudo, APT, systémový nginx, Docker Engine, vlastní Docker image, port mapping, reverse proxy, DNS, Let's Encrypt, Certbot, restart policy, GitHub a deploy nové verze z lokálního počítače.

Výsledná architektura

INTERNET │ │ DNS: docker.example.cz → veřejná IPv4 VPS ▼ VPS / Debian Linux │ ├── :22 SSH │ └── :80 / :443 │ ▼ systémový nginx reverse proxy + TLS termination │ │ proxy_pass http://127.0.0.1:8080 ▼ Docker Engine │ ▼ 127.0.0.1:8080 → container:80 │ ▼ nginx uvnitř containeru │ ▼ HTML/CSS/JS

1. VPS & Linux

SSH, normální uživatel, sudo, permissions, APT, systemd a porty.

Projít kapitolu →

2. Docker

Engine, CLI, containerd, runtime, image, container, build a port mapping.

Projít kapitolu →

3. Nginx & HTTPS

Reverse proxy, server_name, sites-available, Certbot, TLS a automatické obnovování.

Projít kapitolu →

4. Git & deploy

Repo na GitHubu, SSH klíče, local → push → VPS pull → nový image → nový container.

Projít kapitolu →

Tři základní principy

Container není virtuální server

Je to izolovaný proces/prostředí nad stejným Linuxovým kernelem. Běží, dokud běží jeho hlavní proces.

Image je receptovaný výrobek

Dockerfile → docker build → image. Z jednoho image může vzniknout mnoho containerů.

Deploy není git pull

git pull změní zdrojáky na serveru. Teprve nový build + nový container změní skutečně běžící aplikaci.

Reverse proxy je před aplikací

Veřejný nginx přijme request, řeší doménu/HTTPS a pošle ho internímu backendu.