Späť na blog

Ako zdieľať dáta medzi Docker kontajnerom a hostiteľom

Ako zdieľať dáta medzi Docker kontajnerom a hostiteľom

Úvod

Vo všeobecnosti kontajnery Docker bežia len po určitú dobu – čas, ktorý trvá spustenie príkazu. K dátam, ktoré sú k dispozícii vo vnútri kontajnera, je možné pristupovať len z vnútra kontajnera počas jeho behu.

Docker zväzky sa môžu použiť na jednoduchý prístup k súborom a ich ukladanie na dlhšie obdobie. Ak máte napríklad webový server Nginx a chcete ukladať logy na účely auditu, môžete použiť Docker zväzok na uloženie logov z kontajnera do vášho hostiteľského počítača.

V tomto návode sa naučíte, ako zdieľať dáta medzi vnútrom Docker kontajnera a hostiteľským počítačom. 

Požiadavky

Pre tento návod budete potrebovať nasledujúce požiadavky:

Krok 1 – Pripojenie zväzku (Bind Mount)

Môžete vytvoriť adresár s názvom logs v domovskom adresári vášho aktuálneho používateľa a pripojiť ho k /var/log/nginx v kontajneri Nginx pomocou nasledujúceho príkazu:

Tu sú podrobnejšie informácie o tomto príkaze:

  • --name=nginx pomenuje kontajner pre jednoduchú referenciu.
  • -d argument odpojí proces a spustí ho na pozadí.
  • -v hostPath:containerPath mapuje cestu hostiteľa a cestu kontajnera na pripojenie (bind mount).
  • -p hostPort:containerPort argument mapuje port kontajnera na port hostiteľa.
  • nginx na konci riadku je názov obrazu, ktorý by sa mal použiť na spustenie kontajnera.
Poznámka: Na začiatok hostPath vždy použite / alebo ~/, inak argument -v považuje cestu za názov zväzku a nepripojí ho.

Krok 2 – Prístup k dátam na hostiteľovi

Teraz máte na svojom serveri spustený kontajner Nginx a port 5000 vášho servera sa mapuje na port 80 Nginx. Port môžete otvoriť vo webovom prehliadači pomocou nasledujúcej URL adresy:

nginx homepage

V adresári ~/logs uvidíte súbory access.log a error.log. Logy si môžete pozrieť pomocou príkazu cat:

Môžete tiež skontrolovať adresár logov ~/logs na vašom hostiteľskom počítači a nájsť súbor s logmi Nginx. Navyše, ak vykonáte akékoľvek zmeny v priečinku logs , prejavia sa aj v priečinka kontajnera /var/log/nginx .

Záver

V tomto návode ste sa naučili, ako zdieľať dáta medzi vnútrom Docker kontajnera a hostiteľským počítačom. To je nevyhnutné vo vývojových prostrediach, kde je analýza logov nevyhnutná pre ladenie chýb.

Ďalšie zdroje o Dockeri na našom blogu, si môžete pozrieť nasledujúce:

Príjemnú prácu s počítačom!

author

Akshay Nagpal

Autor · CloudSigma

Preslav Dobrev je kreatívny dizajnér v spoločnosti CloudSigma, ktorý sa zameriava na konzistentnú firemnú identitu prostredníctvom tradičných a inovatívnych marketingových kanálov. Dokáže brilantne spájať umeleckú víziu so strategickým marketingom, čím vytvára pôsobivé príbehy značky.

Komentáre

Zatiaľ žiadne komentáre. Buďte prvý.