it:server:docker

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revize Předchozí verze
Následující verze
Předchozí verze
it:server:docker [2023/01/08 19:19] Petr Nosekit: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
 +</code>
 +
 +
 +**Vysvětlení:** Tento příkaz okamžitě odstraní všechny nepotřebné objekty bez požadavku na potvrzení. Používá se, když chcete rychle uvolnit místo v systému.
 +
 +**Poznámka:** Buďte opatrní při použití tohoto příkazu, protože odstraní i objekty, které mohou být potenciálně ještě použitelné. Doporučuje se tento příkaz použít po zajištění, že dané kontejnery nebo obrazy již nejsou potřeba.
 +
 +----
 +
 +==== 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
 +</code>
 +
 +**Vysvětlení:** Tento příkaz zobrazí tabulku s metrikami pro všechny běžící kontejnery. Pokud chcete sledovat konkrétní kontejner, můžete specifikovat jeho název nebo ID.
 +
 +Příklad pro konkrétní kontejner
 +
 +<code bash>
 +docker stats <container_name_or_id>
 +</code>
 +
 +**Výsledek:** Zobrazí informace o využití systémových prostředků pouze pro kontejner "my_container".
 +
 +**Poznámka:** Tento příkaz je užitečný při diagnostice výkonu kontejnerů, zejména pokud některý z nich spotřebovává více prostředků, než je očekáváno.
 +
 +
 +
 +
 +===== Instalace =====
  
 Instalace dockeru pro Raspberry Pi: https://www.simplilearn.com/tutorials/docker-tutorial/raspberry-pi-docker nebo tento návod: https://dev.to/elalemanyo/how-to-install-docker-and-docker-compose-on-raspberry-pi-1mo Instalace dockeru pro Raspberry Pi: https://www.simplilearn.com/tutorials/docker-tutorial/raspberry-pi-docker nebo tento návod: https://dev.to/elalemanyo/how-to-install-docker-and-docker-compose-on-raspberry-pi-1mo
Řádek 22: Řádek 64:
 <code bash> <code bash>
 systemctl enable docker systemctl enable docker
 +</code>
 +
 +
 +{{youtube>pg19Z8LL06w?}}
 +
 +===== instalace na Debian =====
 +
 +Vycházel jsem z článku: [[https://linuxhint.com/install-docker-debian/|How to install Docker on Debian 11]].
 +
 +<code bash>
 +apt -y install apt-transport-https ca-certificates curl gnupg2 software-properties-common
 +curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
 +echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list
 +apt update
 +apt install -y docker-ce docker-ce-cli containerd.io
 +docker -v
 </code> </code>
  
Řádek 127: Řádek 185:
  
 Konfigurace zajistí, že port 9000 bude přístupný pouze na localhostu. Čerpal jsem z diskuse: [[https://stackoverflow.com/questions/45109398/how-can-i-make-docker-compose-bind-the-containers-only-on-defined-network-instea|How can I make docker-compose bind the containers only on defined network instead of 0.0.0.0?]] Konfigurace zajistí, že port 9000 bude přístupný pouze na localhostu. Čerpal jsem z diskuse: [[https://stackoverflow.com/questions/45109398/how-can-i-make-docker-compose-bind-the-containers-only-on-defined-network-instea|How can I make docker-compose bind the containers only on defined network instead of 0.0.0.0?]]
 +
 +
 +==== Aktualizace kontejnerů pomocí docker-compose ====
 +
 +=== 1. Stáhnout nové verze obrazů ===
 +V příkazovém řádku spusťte:
 +
 +<code bash>
 +docker-compose pull
 +</code>
 +
 +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
 +</code>
 +
 +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
 +</code>
 +
 +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
 +</code>
 +
 +=== 4. Ověření verzí ===
 +Chcete-li zjistit, jaké verze kontejnerů běží, použijte:
 +
 +<code bash>
 +docker ps
 +</code>
 +
 +Případně si zobrazte detaily konkrétního kontejneru:
 +
 +<code bash>
 +docker inspect <container_name>
 +</code>
 +
 +Tento postup zajišťuje bezpečnou a efektivní aktualizaci kontejnerů s minimálním výpadkem služby. 🚀
  
  
Řádek 153: Řádek 265:
   * https://unix.stackexchange.com/questions/598471/docker-container-shows-sleep-cannot-read-realtime-clock-operation-not-permit   * https://unix.stackexchange.com/questions/598471/docker-container-shows-sleep-cannot-read-realtime-clock-operation-not-permit
   * https://forum.inductiveautomation.com/t/docker-container-does-not-start/43915/8   * https://forum.inductiveautomation.com/t/docker-container-does-not-start/43915/8
 +
 +Tady je ještě varianta konfiguračního souboru pro instalaci skrze docker compose:
 +
 +<code>
 +version: '3.6'
 +services:
 + 
 +    nextcloudpi:
 +    container_name: nextcloudpi
 +    ports:
 +        - '80:80'
 +        - '4443:4443'
 +        - '443:443'
 +    privileged: true
 +    volumes:
 +        - '/mnt/nextcloud:/data'
 +    image: ownyourbits/nextcloudpi
 +
 +</code> 
 +
  
  
Řádek 227: Řádek 359:
  
  
 +===== Mysql a phpmyadmin =====
  
 +Tady je obsah souboru //docker-dompose.yml//
 +
 +<code>
 +version: '3.7'                                                              
 +
 +services:                                                                   
 +  mariadb:                                                                  
 +    container_name: mysql                                                   
 +    image: mysql:latest                                                     
 +    ports:                                                                  
 +      - "3306:3306"                                                         
 +    environment:                                                            
 +      MYSQL_ROOT_PASSWORD: supersecretpassword   # Změňte heslo podle vašich potřeb
 +    volumes:                                                                
 +      - mysql-data:/var/lib/mysql                                           
 +    restart: unless-stopped                                                 
 +
 +  phpmyadmin:                                                               
 +    container_name: phpmyadmin                                              
 +    image: phpmyadmin/phpmyadmin                                            
 +    environment:                                                            
 +      PMA_HOST: mariadb                                                     
 +      MYSQL_ROOT_PASSWORD: supersecretpassword   # Musí být stejné jako v mariadb  
 +    depends_on:                                                             
 +      - mariadb                                                             
 +    ports:                                                                  
 +      - "8080:80"   # PHPMyAdmin bude dostupný na portu 8080                
 +    restart: unless-stopped                                                 
 +
 +volumes:                                                                    
 +  mysql-data:
 +
 +</code>
 +
 +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 248: Řádek 416:
  
 <code bash> <code bash>
-apt-install build-essential python3-dev python3-dev pip3 install wheel+apt-get install build-essential python3-dev python3-dev python3-pip python3-wheel
 </code> </code>
  
Řádek 272: Řádek 440:
 ./menu.sh ./menu.sh
 </code> </code>
 +
 +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://raw.githubusercontent.com/SensorsIot/IOTstack/master/install.sh | bash
 +</code>
 +
 +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://sensorsiot.github.io/IOTstack/Basic_setup/|dokumentaci k IOStack]], ve které jsou další užitečné příkazy. Pomocí IOTstack lze nainstalovat i samotný docker a docker-composer. Nebo aktualizovat celý stack. Kromě videa lze využít také [[https://sensorsiot.github.io/IOTstack/Basic_setup/|dokumentaci k IOStack]], ve které jsou další užitečné příkazy.
  • it/server/docker.1673205560.txt.gz
  • Poslední úprava: 2023/01/08 19:19
  • autor: Petr Nosek