Kompletný sprievodca vytváraním a správou kontajnerov Docker

Posledná aktualizácia: 08/05/2025
Autor: Isaac
  • Docker vám umožňuje baliť aplikácie s ich závislosťami, čím zabezpečuje prenosnosť a konzistenciu.
  • Kontajnery sa vytvárajú z už existujúcich obrazov Dockeru alebo sa prispôsobujú pomocou súboru Dockerfile.
  • Vykonávanie kontajnerov je možné prispôsobiť pomocou parametrov, ako sú zväzky, premenné prostredia a mapovanie portov.
  • Docker Compose a ďalšie nástroje na orchestráciu pomáhajú spravovať kontajnery v zložitých prostrediach.
prístavný robotník
Vytvorené s GIMP

Docker sa stal jedným zo základných nástrojov pri vývoji a nasadzovaní moderných aplikácií . Jeho schopnosť vytvárať izolované a konzistentné prostredia umožňuje vývojárom pracovať bez obáv z typických problémov s konfiguráciou medzi rôznymi systémami.

V tejto príručke sa krok za krokom a veľmi podrobne naučíte, ako vytvoriť kontajner Docker od základov . Pokryjeme všetko od základnej inštalácie až po pokročilé spustenie pomocou Docker Compose vrátane vytvárania vlastných obrazov, používania zväzkov, správy spustených kontajnerov a osvedčených postupov pre optimalizáciu vášho pracovného prostredia.

Čo je to Docker kontajner a prečo ho používať?

Docker kontajner je ľahká, prenosná jednotka, ktorá obsahuje aplikáciu spolu so všetkými jej závislosťami . Na rozdiel od virtuálneho stroja, ktorý obsahuje kompletný operačný systém, kontajnery zdieľajú jadro hostiteľského operačného systému, vďaka čomu sú oveľa rýchlejšie a efektívnejšie.

Vďaka Dockeru môžete vyvíjať, testovať a nasadzovať svoje aplikácie v rôznych prostrediach bez obáv z rozdielov medzi nimi . Táto funkcia z neho robí ideálne riešenie pre produkčné prostredia aj lokálne testovanie a vývoj.

Predpoklady pre používanie Dockeru

  • Podporovaný operačný systémUbuntu, Debian, Fedora, CentOS, macOS alebo Windows.
  • Prístup k oprávneniam superpoužívateľa (koreň alebo sudo) na inštaláciu a spustenie Dockeru.
  • Conexión a internet stiahnuť oficiálne obrázky z Docker Hubu.

Inštalácia Dockeru

Inštalácia Dockeru je zvyčajne jednoduchá. V Ubuntu ho môžete nainštalovať pomocou týchto príkazov :

aktualizácia sudo apt sudo apt inštalácia docker-ce docker-ce-cli containerd.io

Ak chcete, aby sa Docker spustil automaticky po zapnutí systému, môžete ho spustiť takto :

sudo systemctl povoliť docker sudo systemctl povoliť kontajnery

Overenie inštalácie

prístavný robotník

Po nainštalovaní môžete overiť, či je Docker spustený a funkčný, spustením tohto príkazu:

docker run hello-world

Tento príkaz stiahne testovací obrázok a zobrazí správu potvrdzujúcu, že všetko funguje správne.

  Ako zvýšiť hlasitosť slúchadiel pre iPhone - Ekvalizácia

Vytvorenie kontajnera: Základy

Na vytvorenie kontajnera potrebujete obraz Dockeru , čo je balík obsahujúci všetky komponenty, ktoré vaša aplikácia potrebuje. Obrazy si môžete stiahnuť z Docker Hubu alebo vytvoriť manuálne.

Napríklad na nastavenie základného servera Nginx môžete použiť:

spustiť docker --name môj web -p 8080:80 -d nginx

S týmto pokynom:

  • – názov mojej webovej stránky: pomenuje kontajner.
  • -p 8080: 80Presmeruje hostiteľský port 8080 na kontajnerový port 80.
  • -d: spúšťa kontajner na pozadí.

Vytváranie vlastných obrázkov pomocou Dockerfile

Dockerfile vám umožňuje krok za krokom vytvárať vlastné obrázky . Každá inštrukcia v súbore pridá novú vrstvu do výsledného obrázka. Tu je jednoduchý príklad:

Z ubuntu: najnovší PRACOVNÝ ADRESÁR /aplikácia KÓPIA . . SPUSTIŤ apt-get update && apt-get install -y curl
CMD 

Tento súbor robí nasledovné:

  • Z: Použite najnovšiu verziu Ubuntu ako základ.
  • WORKDIR: nastaví pracovný adresár.
  • COPY: kopíruje súbory z hostiteľa do kontajnera.
  • RUN: nainštaluje balík curl.
  • CMD: definuje predvolený príkaz pri spustení kontajnera.

Ak chcete vytvoriť obraz pomocou tohto Dockerfile, môžete si prečítať návod na vytváranie vlastných obrázkov pomocou Dockerfile.

Spustenie kontajnera z vlastného obrázka

Po vytvorení obrazu môžete spustiť aplikáciu pomocou:

docker run --názov príklad -p 8080:80 môjprojekt

Takto vytvoríte kontajner z obrázka, ktorý ste práve vytvorili.

Správa kontajnerov Docker

Docker poskytuje niekoľko príkazov na správu kontajnerov . Medzi najužitočnejšie patria:

  • docker ps: zobrazuje zoznam spustených kontajnerov.
  • docker ps -a: zobrazuje všetky kontajnery vrátane zastavených.
  • docker stop nombre_contenedor: zastaví kontajner.
  • docker rm nombre_contenedor: vymaže kontajner.

Perzistencia dát: Zväzky v Dockeri

Štandardne sa dáta uložené v kontajneri stratia po jeho odstránení. Pre zachovanie trvalých dát je nevyhnutné pripojiť zväzky . Použitie zväzkov zabezpečuje, že dáta prežijú odstránenie kontajnera a budú sa môcť zdieľať medzi zväzkami.

  Zistite, ako zistiť, ako dlho som s niekým priateľom na Facebooku. Skontrolujte dátum a históriu priateľstva.

Príklad s typom väzby zväzok:

docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=key -v $PWD/data:/var/lib/mysql mysql:8.0

Môžete tiež použiť zväzky spravované Dockerom :

vytvorenie zväzku docker mysql_data docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=kľúč -v mysql_data:/var/lib/mysql mysql:8.0

Premenné prostredia

Docker vám umožňuje konfigurovať premenné prostredia, ktoré pomáhajú parametrizovať správanie kontajnerov . Napríklad:

docker run -e MYSQL_ROOT_PASSWORD=admin -e MYSQL_DATABASE=store mysql:8.0

Rozdelenie zdrojov

Môžete obmedziť využitie CPU a pamäte kontajnerom . Toto je užitočné, aby ste zabránili tomu, aby jeden kontajner spotreboval všetky systémové zdroje.

spustiť docker --cpus=0.5 --memory=512m môj obrázok

Základná orchestrácia s Docker Compose

Docker Compose zjednodušuje správu viacerých kontajnerov . Definuje všetky potrebné služby v jednom súbore YAML a potom ich spúšťa jedným príkazom. Viac informácií o vytváraní kontajnerov v Dockeri pomocou Docker Compose nájdete v článku Používanie Docker Compose.

Základný príklad docker-compose.yml pre MySQL:

verzia: '3' služby: mysql: obrázok: mysql:8.0 porty: - 3306:3306 prostredie: - MYSQL_ROOT_PASSWORD=root - MYSQL_DATABASE=projekt - MYSQL_USER=používateľ - MYSQL_PASSWORD=kľúč zväzky: - mysql_data:/var/lib/mysql zväzky: mysql_data:

Zrušenie služieb:

docker-skladať hore -d

Najlepšie postupy pri používaní Dockeru

Aby ste zabezpečili efektívnosť, bezpečnosť a jednoduchú údržbu svojich obrázkov a kontajnerov, postupujte podľa týchto odporúčaní :

  • Vždy, keď je to možné, používajte oficiálne obrázky, keďže sú auditované a optimalizované.
  • Udržujte svoje nádoby ľahké používanie malých základných obrazov a odstraňovanie nepotrebných súborov po inštalácii balíkov.
  • Nespúšťať procesy ako root, vytvorí v kontajneri konkrétneho používateľa.
  • Používanie zväzkov na ukladanie trvalých údajov a vyhnúť sa stratám spôsobeným zlyhaniami alebo aktualizáciami.
  • Nakonfigurujte citlivé premenné ako tajné atribúty pomocou prostredí alebo súborov .env, aby sa zabránilo ich odhaleniu v zdrojovom kóde.

Praktický príklad: nasadenie Pandora FMS s Dockerom

Reálnou aplikáciou využívajúcou viacero kontajnerov je Pandora FMS. Server aj databázu môžeme nasadiť iba dvoma príkazmi, ak použijeme Docker.

Najprv si nastavíme databázu:

docker run --name Pandora_DB -p 3306:3306 -e HESLO_KOREŇA_MOJEHO_SQL=pandora -e BÁZA_DÁT_MOJEHO_SQL=pandora -e POUŽÍVATEĽ_MOJEHO_SQL=pandora -e HESLO_MOJEHO_SQL=pandora -v mysqlvol:/var/lib/mysql -d súbory/pandorafms-percona-base

Aplikačný server potom začne ukazovať na IP adresu hostiteľa:

docker run --name Pandora_app --rm -p 8081:80 -e DBHOST=127.0.0.1 -e DBNAME=pandora -e DBUSER=pandora -e DBPASS=pandora -e DBPORT=3306 -ti rameijeiras/pandorafms-community:740

Vďaka tomu by ste mali funkčnú inštanciu Pandora FMS v priebehu niekoľkých minút.

  smss.exe | čo to je Je to nebezpečné? Riešenia problémov

Docker je všestranný nástroj, ktorý transformuje spôsob nasadzovania a správy aplikácií. Od nasadenia jednoduchých vývojových kontajnerov až po komplexné prostredia s viacerými službami, ich používanie zvyšuje efektivitu, znižuje problémy s kompatibilitou a uľahčuje škálovanie vašich projektov. Zvládnutie Dockeru je investícia, ktorá môže znamenať rozdiel v riadení vašich nasadení a vývoji aplikácií.

Základné príkazy Docker-0
Súvisiaci článok:
Príkazy Docker: Kompletný sprievodca správou kontajnerov