Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
| Obě strany předchozí revize Předchozí verze Následující verze | Předchozí verze | ||
| it:server:docker [2024/12/31 18:25] – Petr Nosek | it:server:docker [2025/08/02 12:09] (aktuální) – Petr Nosek | ||
|---|---|---|---|
| Řádek 185: | Řádek 185: | ||
| Konfigurace zajistí, že port 9000 bude přístupný pouze na localhostu. Čerpal jsem z diskuse: [[https:// | Konfigurace zajistí, že port 9000 bude přístupný pouze na localhostu. Čerpal jsem z diskuse: [[https:// | ||
| + | |||
| + | |||
| + | ==== Aktualizace kontejnerů pomocí docker-compose ==== | ||
| + | |||
| + | === 1. Stáhnout nové verze obrazů === | ||
| + | V příkazovém řádku spusťte: | ||
| + | |||
| + | <code bash> | ||
| + | docker-compose pull | ||
| + | </ | ||
| + | |||
| + | Tento příkaz stáhne nejnovější verze obrazů, které jsou definované v `docker-compose.yml`. | ||
| + | |||
| + | === 2. Restartovat kontejnery s novými obrazy === | ||
| + | Po stažení nových verzí spusťte: | ||
| + | |||
| + | <code bash> | ||
| + | docker-compose up -d | ||
| + | </ | ||
| + | |||
| + | Tento příkaz: | ||
| + | * Spustí nové kontejnery s aktualizovanými obrazy. | ||
| + | * Nepoužije cache a vynutí rekreaci všech kontejnerů. | ||
| + | |||
| + | Pokud chcete kontejnery úplně odstranit a vytvořit nové, použijte: | ||
| + | |||
| + | <code bash> | ||
| + | docker-compose down | ||
| + | docker-compose up -d | ||
| + | </ | ||
| + | |||
| + | Tento postup zajistí kompletní restart všech služeb. | ||
| + | |||
| + | === 3. Odstranění starých nepoužívaných obrazů === | ||
| + | Po úspěšné aktualizaci můžete smazat staré nepoužívané obrazy, aby nezabíraly místo: | ||
| + | |||
| + | <code bash> | ||
| + | docker image prune -f | ||
| + | </ | ||
| + | |||
| + | === 4. Ověření verzí === | ||
| + | Chcete-li zjistit, jaké verze kontejnerů běží, použijte: | ||
| + | |||
| + | <code bash> | ||
| + | docker ps | ||
| + | </ | ||
| + | |||
| + | Případně si zobrazte detaily konkrétního kontejneru: | ||
| + | |||
| + | <code bash> | ||
| + | docker inspect < | ||
| + | </ | ||
| + | |||
| + | Tento postup zajišťuje bezpečnou a efektivní aktualizaci kontejnerů s minimálním výpadkem služby. 🚀 | ||
| Řádek 437: | Řádek 491: | ||
| Návod na zabezpečení Node-Redu přes SSL a autentizace: | Návod na zabezpečení Node-Redu přes SSL a autentizace: | ||
| + | |||
| + | |||
| + | ===== Redmine a databáze na hostitelském systému ===== | ||
| + | |||
| + | Řešil jsem instalaci Redmine, kde samotný Redmine běží v Dockeru, ale databáze (MySQL/ | ||
| + | |||
| + | ==== Nastavení databáze ==== | ||
| + | |||
| + | Nejprve jsem si musel ověřit, na jakých adresách MySQL/ | ||
| + | |||
| + | < | ||
| + | bind-address = 127.0.0.1 | ||
| + | </ | ||
| + | |||
| + | |||
| + | ==== Zjištění IP adresy docker0 ==== | ||
| + | |||
| + | Aby Redmine z Dockeru mohl přistupovat k databázi na hostitelském systému, zjistil jsem IP adresu rozhraní docker0 příkazem: | ||
| + | |||
| + | <code bash> | ||
| + | ip addr show docker0 | ||
| + | </ | ||
| + | |||
| + | Je potřeba myslet na to, že tato IP adresa se může po restartu systému změnit, takže je dobré počítat s tím do budoucna. | ||
| + | |||
| + | ==== Konfigurace docker-compose.yml ==== | ||
| + | |||
| + | Redmine jsem nastavil v docker-compose.yml takto: | ||
| + | |||
| + | <code yaml> | ||
| + | redmine: | ||
| + | container_name: | ||
| + | image: redmine | ||
| + | restart: always | ||
| + | ports: | ||
| + | - ' | ||
| + | environment: | ||
| + | REDMINE_DB_MYSQL: | ||
| + | REDMINE_DB_PORT: | ||
| + | REDMINE_DB_USERNAME: | ||
| + | REDMINE_DB_PASSWORD: | ||
| + | REDMINE_DB_DATABASE: | ||
| + | REDMINE_SECRET_KEY_BASE: | ||
| + | volumes: | ||
| + | - ' | ||
| + | - ' | ||
| + | </ | ||
| + | |||
| + | Klíčový je zde parametr REDMINE_DB_MYSQL, | ||
| + | |||
| + | ==== Konfigurace reverse proxy (Apache) ==== | ||
| + | |||
| + | V konfiguraci Apache jsem pro přístup na Redmine přes webový server přidal tuto část: | ||
| + | |||
| + | < | ||
| + | # Reverse proxy konfigurace | ||
| + | ProxyPreserveHost On | ||
| + | ProxyPass / http:// | ||
| + | ProxyPassReverse / http:// | ||
| + | </ | ||
| + | |||
| + | Takto jsem úspěšně rozchodil Redmine v Dockeru s databází na hostiteli a přístupem přes Apache reverse proxy. | ||
| + | |||
| + | |||
| + | ==== konfigurace firewallu ==== | ||
| + | |||
| + | Musel jsem nakonfigurovat ještě firewall a povolit komunikaci z Redmine na MySQL databázi. | ||
| + | |||
| + | IP adresu Redmine jsem zjistil pomocí tohoto příkazu: | ||
| + | |||
| + | <code bash> | ||
| + | docker inspect redmine | grep -i ipaddress | ||
| + | </ | ||
| + | |||
| + | Pro firewall jsem přidal tyto příkazy: | ||
| + | |||
| + | <code bash> | ||
| + | ufw allow proto tcp from 172.19.0.2 to any port 33060 | ||
| + | ufw allow proto udp from 172.19.0.2 to any port 33060 | ||
| + | </ | ||
| + | |||
| + | Tohle znamená: | ||
| + | |||
| + | * Povoluje veškerý provoz (příchozí) na port 33060 přes TCP a UDP pouze z IP adresy 172.19.0.2. | ||
| + | |||
| + | V kontextu Dockeru je 172.19.0.2 adresa Redmine. Opět po restartu může být jiná a tohle ještě nemám dořešené, | ||
| + | |||
| + | |||