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 [2023/01/02 20:21] – [docker compose] Petr Nosek | it:server:docker [2025/02/11 17:29] (aktuální) – [Tvorba docker composer souboru] Petr Nosek | ||
---|---|---|---|
Řádek 1: | Řádek 1: | ||
====== Docker ====== | ====== Docker ====== | ||
+ | |||
+ | ===== Vysvětlení příkazů Dockeru ===== | ||
+ | |||
+ | ==== Příkaz docker system prune -f ==== | ||
+ | |||
+ | Tento příkaz slouží k odstranění nepotřebných dat z Dockeru, což zahrnuje zastavené kontejnery, visící svazky (volumes), nepoužívané sítě a nepřiřazené obrazy. Použití parametru **-f** způsobí, že příkaz proběhne bez nutnosti potvrzení od uživatele. | ||
+ | |||
+ | <code bash> | ||
+ | docker system prune -f | ||
+ | </ | ||
+ | |||
+ | |||
+ | **Vysvětlení: | ||
+ | |||
+ | **Poznámka: | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ==== Příkaz docker stats ==== | ||
+ | |||
+ | Příkaz docker stats umožňuje sledovat v reálném čase využití systémových prostředků (jako je CPU, paměť nebo síť) jednotlivými kontejnery. | ||
+ | |||
+ | <code bash> | ||
+ | docker stats | ||
+ | </ | ||
+ | |||
+ | **Vysvětlení: | ||
+ | |||
+ | Příklad pro konkrétní kontejner | ||
+ | |||
+ | <code bash> | ||
+ | docker stats < | ||
+ | </ | ||
+ | |||
+ | **Výsledek: | ||
+ | |||
+ | **Poznámka: | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===== Instalace ===== | ||
Instalace dockeru pro Raspberry Pi: https:// | Instalace dockeru pro Raspberry Pi: https:// | ||
Řádek 22: | Řádek 64: | ||
<code bash> | <code bash> | ||
systemctl enable docker | systemctl enable docker | ||
+ | </ | ||
+ | |||
+ | |||
+ | {{youtube> | ||
+ | |||
+ | ===== instalace na Debian ===== | ||
+ | |||
+ | Vycházel jsem z článku: [[https:// | ||
+ | |||
+ | <code bash> | ||
+ | apt -y install apt-transport-https ca-certificates curl gnupg2 software-properties-common | ||
+ | curl -fsSL https:// | ||
+ | echo "deb [arch=amd64 signed-by=/ | ||
+ | apt update | ||
+ | apt install -y docker-ce docker-ce-cli containerd.io | ||
+ | docker -v | ||
</ | </ | ||
Řádek 66: | Řádek 124: | ||
Nástroj na převedení příkazu dockeru pro docker-compose: | Nástroj na převedení příkazu dockeru pro docker-compose: | ||
+ | ==== Tvorba docker composer souboru ==== | ||
+ | Nejprve vytvořit **docker-conpose.yml**. | ||
<code bash> | <code bash> | ||
touch docker-compose.yml | touch docker-compose.yml | ||
+ | </ | ||
+ | |||
+ | Nahraji například takový obsah: | ||
+ | <code bash> | ||
+ | version: ' | ||
+ | services: | ||
+ | |||
+ | # | ||
+ | firefox: | ||
+ | container_name: | ||
+ | ports: | ||
+ | - ' | ||
+ | environment: | ||
+ | - LANG=cs_CZ.UTF-8 | ||
+ | - SECURE_CONNECTION=1 | ||
+ | - SECURE_CONNECTION_VNC_METHOD=SSL | ||
+ | #ATTENTION: Password is limited to 8 characters. | ||
+ | - VNC_PASSWORD=secret | ||
+ | volumes: | ||
+ | - '/ | ||
+ | shm_size: ' | ||
+ | image: jlesage/ | ||
+ | |||
+ | </ | ||
+ | |||
+ | Když chci otestovat, zda je konfigurační soubor ok, spustím: | ||
+ | |||
+ | <code bash> | ||
docker-compose config | docker-compose config | ||
</ | </ | ||
+ | |||
+ | |||
+ | Pokud je všechno ok, tak tento příkaz nainstaluje kontejner: | ||
+ | |||
+ | <code bash> | ||
+ | docker-compose up -d | ||
+ | </ | ||
+ | |||
+ | Tento příkaz kontejner vypne a smaže (kromě obsahu ve **volumes**): | ||
+ | |||
+ | <code bash> | ||
+ | docker-compose down | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | === docker-compose - služba pouze na localhostu === | ||
+ | |||
+ | Pokud chci, aby běžela služba pouze na localhostu, tak se v konfiguračním souboru v sekci ports napíše toto: | ||
+ | |||
+ | < | ||
+ | ports: | ||
+ | - " | ||
+ | </ | ||
+ | |||
+ | 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 97: | Řádek 265: | ||
* https:// | * https:// | ||
* https:// | * https:// | ||
+ | |||
+ | Tady je ještě varianta konfiguračního souboru pro instalaci skrze docker compose: | ||
+ | |||
+ | < | ||
+ | version: ' | ||
+ | services: | ||
+ | |||
+ | nextcloudpi: | ||
+ | container_name: | ||
+ | ports: | ||
+ | - ' | ||
+ | - ' | ||
+ | - ' | ||
+ | privileged: true | ||
+ | volumes: | ||
+ | - '/ | ||
+ | image: ownyourbits/ | ||
+ | |||
+ | </ | ||
+ | |||
Řádek 120: | Řádek 308: | ||
===== firefox ===== | ===== firefox ===== | ||
+ | |||
+ | Defaultně využívá port: **5800**. | ||
Jsou situace, kdy chci přes noc stáhnout něco většího ze serveru, nicméně potřebuji k tomu celý web browser - kvůli autentizaci je někdy nemožné použít příkazovou řádku pro stažení. Je lepší použít webový prohlížeč a neukončovat ho, dokud se soubor nestáhne. Dříve jsem to řešil tak, že jsem měl na mikropočítači nainstalovaný celý desktop a připojoval jsem se vzdáleně přes VNC. Nicméně pokud se jedná o server, tak je docela nešikovné, | Jsou situace, kdy chci přes noc stáhnout něco většího ze serveru, nicméně potřebuji k tomu celý web browser - kvůli autentizaci je někdy nemožné použít příkazovou řádku pro stažení. Je lepší použít webový prohlížeč a neukončovat ho, dokud se soubor nestáhne. Dříve jsem to řešil tak, že jsem měl na mikropočítači nainstalovaný celý desktop a připojoval jsem se vzdáleně přes VNC. Nicméně pokud se jedná o server, tak je docela nešikovné, | ||
Řádek 144: | Řádek 334: | ||
+ | ==== docker compose file ==== | ||
+ | <code bash> | ||
+ | version: ' | ||
+ | services: | ||
+ | # | ||
+ | firefox: | ||
+ | container_name: | ||
+ | ports: | ||
+ | - ' | ||
+ | environment: | ||
+ | - LANG=cs_CZ.UTF-8 | ||
+ | - SECURE_CONNECTION=1 | ||
+ | - SECURE_CONNECTION_VNC_METHOD=SSL | ||
+ | #ATTENTION: Password is limited to 8 characters. | ||
+ | - VNC_PASSWORD=secret | ||
+ | volumes: | ||
+ | - '/ | ||
+ | shm_size: ' | ||
+ | image: jlesage/ | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | ===== Mysql a phpmyadmin ===== | ||
+ | |||
+ | Tady je obsah souboru // | ||
+ | |||
+ | < | ||
+ | version: ' | ||
+ | |||
+ | services: | ||
+ | mariadb: | ||
+ | container_name: | ||
+ | image: mysql: | ||
+ | ports: | ||
+ | - " | ||
+ | environment: | ||
+ | MYSQL_ROOT_PASSWORD: | ||
+ | volumes: | ||
+ | - mysql-data:/ | ||
+ | restart: unless-stopped | ||
+ | |||
+ | phpmyadmin: | ||
+ | container_name: | ||
+ | image: phpmyadmin/ | ||
+ | environment: | ||
+ | PMA_HOST: mariadb | ||
+ | MYSQL_ROOT_PASSWORD: | ||
+ | depends_on: | ||
+ | - mariadb | ||
+ | ports: | ||
+ | - " | ||
+ | restart: unless-stopped | ||
+ | |||
+ | volumes: | ||
+ | mysql-data: | ||
+ | |||
+ | </ | ||
+ | Pro připojení k mysql serveru používat IP adresu: 127.0.0.1. Při použití localhost a mi nepodařilo připojit k databázi. | ||
===== Linux desktop ===== | ===== Linux desktop ===== | ||
Řádek 167: | Řádek 416: | ||
<code bash> | <code bash> | ||
- | apt-install build-essential python3-dev python3-dev | + | apt-get install build-essential python3-dev python3-dev |
</ | </ | ||
Řádek 191: | Řádek 440: | ||
./menu.sh | ./menu.sh | ||
</ | </ | ||
+ | |||
+ | Update 1.1.2024: Aktuálně je doporučený postup instalace na existující systém: | ||
+ | |||
+ | <code bash> | ||
+ | sudo apt install -y curl | ||
+ | curl -fsSL https:// | ||
+ | </ | ||
+ | |||
+ | Pozor, systém se restartuje. | ||
Pomocí IOTstack lze nainstalovat i samotný docker a docker-composer. Nebo aktualizovat celý stack. Kromě videa lze využít také [[https:// | Pomocí IOTstack lze nainstalovat i samotný docker a docker-composer. Nebo aktualizovat celý stack. Kromě videa lze využít také [[https:// |