{"id":32873,"date":"2019-10-31T21:49:25","date_gmt":"2019-10-31T18:49:25","guid":{"rendered":"https:\/\/prohoster.info\/blog\/izuchaem-docker-chast-6-rabota-s-dannymi\/"},"modified":"2019-10-31T21:49:25","modified_gmt":"2019-10-31T18:49:25","slug":"izuchaem-docker-chast-6-rabota-s-dannymi","status":"publish","type":"post","link":"https:\/\/prohoster.info\/lv\/blog\/administrirovanie\/izuchaem-docker-chast-6-rabota-s-dannymi","title":{"rendered":"M\u0101c\u0101mies Docker, 6. da\u013ca: darbs ar datiem","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>\u0160odienas da\u013c\u0101 par Docker tulko\u0161anai m\u0113s run\u0101sim par datu apstr\u0101di. \u012apa\u0161i piev\u0113r\u0161oties Docker tiltiem. \u0160ajos materi\u0101los past\u0101v\u012bgi sal\u012bdzin\u0101j\u0101m Docker programmat\u016bras meh\u0101nismus ar da\u017e\u0101d\u0101m \u0113dam\u0101m analo\u0123ij\u0101m. Neiziesim no \u0161\u012bs trad\u012bcijas ar\u012b \u0161oreiz. Dati Docker b\u016bs k\u0101 gar\u0161vielas. Pasaule pied\u0101v\u0101 daudz da\u017e\u0101du gar\u0161vielu, un Docker pied\u0101v\u0101 daudz veidu, k\u0101 str\u0101d\u0101t ar datiem.<\/p>\n<p>\u2192 <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/post\/438796\/\">1. da\u013ca: pamati<\/a><\/noindex><br \/>\n\u2192 <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/post\/439978\/\">2. da\u013ca: termini un koncepti<\/a><\/noindex><br \/>\n\u2192 <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/post\/439980\/\">3. da\u013ca: Dockerfile faili<\/a><\/noindex><br \/>\n\u2192 <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/post\/440658\/\">4. da\u013ca: att\u0113lu samazin\u0101\u0161ana un to izveides pa\u0101trin\u0101\u0161ana<\/a><\/noindex><br \/>\n\u2192 <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/post\/440660\/\">5. da\u013ca: komandas<\/a><\/noindex><br \/>\n\u2192 <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/post\/441574\/\">6. da\u013ca: datu apstr\u0101de<\/a><\/noindex><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ruvds\/blog\/441574\/\"><img decoding=\"async\" alt=\"M\u0101c\u0101mies Docker, 6. da\u013ca: darbs ar datiem\" src=\"\/wp-content\/uploads\/2019\/05\/b46a9525df1a3ed70d8e2625fbfd42f6.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nL\u016bdzu, \u0146emiet v\u0113r\u0101, ka \u0161is materi\u0101ls sagatavots, izmantojot Docker versiju 18.09.1 un API versiju <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.docker.com\/engine\/api\/version-history\/\">1.39<\/a><\/noindex>.<\/p>\n<p>Dati Docker var tikt glab\u0101ti vai nu pagaidu, vai ilgsto\u0161i. S\u0101ksim ar pagaidu datiem.<\/p>\n<h2>Pagaidu datu glab\u0101\u0161ana<\/h2>\n<p>\nDocker konteineros pagaidu datu apstr\u0101de var tikt organiz\u0113ta divos veidos.<\/p>\n<p>P\u0113c noklus\u0113juma, failus, kurus rada programma, kas darbojas konteiner\u0101, saglab\u0101 ierakst\u012b\u0161anas atbalsto\u0161aj\u0101 konteineru sl\u0101n\u012b. Lai \u0161is meh\u0101nisms darbotos, nekas \u012bpa\u0161s nav j\u0101iestata. Tas ir l\u0113ti un efekt\u012bvi. Programmai vienk\u0101r\u0161i j\u0101saglab\u0101 dati un j\u0101turpina darboties. Tom\u0113r p\u0113c tam, kad konteiners p\u0101rtrauks eksist\u0113t, pazud\u012bs ar\u012b \u0161\u0101d\u0101 veid\u0101 saglab\u0101tie dati.<\/p>\n<p>V\u0113l viens risin\u0101jums pagaidu failu glab\u0101\u0161anai Docker ir izdev\u012bgs tiem gad\u012bjumiem, kad nepiecie\u0161ams augst\u0101ks veiktsp\u0113jas l\u012bmenis, nek\u0101 tas, ko var pan\u0101kt ar standarta pagaidu datu glab\u0101\u0161anas meh\u0101nismu. Ja jums nav nepiecie\u0161ams, lai j\u016bsu dati tiktu glab\u0101ti ilg\u0101k par konteineru eksistenci, j\u016bs varat piesl\u0113gt konteineram tmpfs \u2014 pagaidu inform\u0101cijas glab\u0101tuvi, kas izmanto saimnieka operat\u012bvo atmi\u0146u. Tas pa\u0101trin\u0101s datu rakst\u012b\u0161anas un las\u012b\u0161anas oper\u0101cijas.<\/p>\n<p>Bie\u017ei vien ir nepiecie\u0161ams uzglab\u0101t datus ar\u012b p\u0113c tam, kad konteiners p\u0101rtrauks eksist\u0113t. T\u0101p\u0113c mums noder\u0113s past\u0101v\u012bgas datu glab\u0101\u0161anas meh\u0101nismi.<\/p>\n<h2>Past\u0101v\u012bga datu glab\u0101\u0161ana<\/h2>\n<p>\nIr divi veidi, k\u0101 pagarin\u0101t datu dz\u012bves ciklu, sal\u012bdzinot ar konteineru dz\u012bves ciklu. Viens no veidiem ir izmantot bind mount tehnolo\u0123iju. \u0160\u0101d\u0101 pieej\u0101 var pievienot, piem\u0113ram, re\u0101lu eso\u0161u mapi. Dati, kas uzglab\u0101ti \u0161\u0101d\u0101 map\u0113, b\u016bs pieejami ar\u012b procesiem, kas atrodas \u0101rpus Docker. L\u016bk, k\u0101 <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.docker.com\/storage\/volumes\/\">izskat\u0101s<\/a><\/noindex> tmpfs mont\u0113\u0161ana un bind mount tehnolo\u0123ija.<\/p>\n<p><img decoding=\"async\" alt=\"M\u0101c\u0101mies Docker, 6. da\u013ca: darbs ar datiem\" src=\"\/wp-content\/uploads\/2019\/05\/73b9b7fd59b1321edb9f58953285d8d5.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>tmpfs mont\u0113\u0161ana un bind mount<\/i><\/p>\n<p>Bind mount tehnolo\u0123ijas tr\u016bkums ir t\u0101ds, ka t\u0101s izmanto\u0161ana sare\u017e\u0123\u012b datu dubl\u0113\u0161anu, migr\u0101ciju, k\u0101 ar\u012b datu koplieto\u0161anu starp vair\u0101kiem konteineriem. Ir daudz lab\u0101k izmantot Docker apjomu past\u0101v\u012bgai datu uzglab\u0101\u0161anai.<\/p>\n<h2>Docker apjomi<\/h2>\n<p>\nApjoms ir failu sist\u0113ma, kas atrodas uz viesma\u0161\u012bnas \u0101rpus konteineriem. Docker veic apjomu izveidi un p\u0101rvald\u012bbu. \u0160eit ir galven\u0101s Docker apjomu \u012bpa\u0161\u012bbas:<\/p>\n<ul>\n<li>Tie ir l\u012bdzek\u013ci past\u0101v\u012bgai inform\u0101cijas uzglab\u0101\u0161anai.<\/li>\n<li>Tie ir patst\u0101v\u012bgi un atdal\u012bti no konteineriem.<\/li>\n<li>Tie var koplietot da\u017e\u0101di konteineri.<\/li>\n<li>Tie \u013cauj efekt\u012bvi organiz\u0113t datu las\u012b\u0161anu un ierakst\u012b\u0161anu.<\/li>\n<li>Apjomus var izvietot att\u0101lin\u0101tu m\u0101ko\u0146u pakalpojumu sniedz\u0113ju resursos.<\/li>\n<li>Tos var \u0161ifr\u0113t.<\/li>\n<li>Tiem var pie\u0161\u0137irt nosaukumus.<\/li>\n<li>Konteineris var iepriek\u0161 piepild\u012bt apjomu ar datiem.<\/li>\n<li>Tie ir \u0113rti test\u0113\u0161anai.<\/li>\n<\/ul>\n<p>\nK\u0101 redzat, Docker apjomi ir izcili l\u012bdzek\u013ci. Apskat\u012bsim, k\u0101 tos izveidot.<\/p>\n<h2>Apjomu izveide<\/h2>\n<p>\nApjomus var izveidot ar Docker pal\u012bdz\u012bbu vai izmantojot piepras\u012bjumus uz API.<\/p>\n<p>L\u016bk, Dockerfile instrukcija, kas \u013cauj izveidot apjomu, kad konteineris tiek palaists.<\/p>\n<pre><code class=\"plaintext\">VOLUME \/my_volume<\/code><\/pre>\n<p>\nIzmantojot \u0161\u0101du Docker instrukciju, p\u0113c konteineru izveides tiks izveidots apjoms, kas satur datus, kas jau atrodas nor\u0101d\u012btaj\u0101 viet\u0101. \u0145emiet v\u0113r\u0101, ka, ja izveidojat apjomu, izmantojot Dockerfile, tas neatsedz j\u016bs no nepiecie\u0161am\u012bbas nor\u0101d\u012bt apjoma mont\u0113\u0161anas punktu.<\/p>\n<p>Apjomus Dockerfile var izveidot ar\u012b, izmantojot JSON form\u0101tu.<\/p>\n<p>Turkl\u0101t apjomus var izveidot, izmantojot komandrindas r\u012bkus konteinera darb\u012bbas laik\u0101.<\/p>\n<h2>Darbs ar apjomiem no komandrindas<\/h2>\n<p><\/p>\n<h3>\u258dApjoma izveide<\/h3>\n<p>\nPatst\u0101v\u012bgu apjomu var izveidot, izmantojot \u0161\u0101du komandu:<\/p>\n<pre><code class=\"plaintext\">docker volume create \u2014-name my_volume<\/code><\/pre>\n<p><\/p>\n<h3>\u258dInform\u0101cijas noskaidro\u0161ana par apjomiem<\/h3>\n<p>\nLai ieg\u016btu Docker s\u0113riju sarakstu, izmantojiet sekojo\u0161o komandu:<\/p>\n<pre><code class=\"plaintext\">docker volume ls<\/code><\/pre>\n<p>\nKonkr\u0113ta s\u0113rija j\u0101izp\u0113ta \u0161\u0101di:<\/p>\n<pre><code class=\"plaintext\">docker volume inspect my_volume<\/code><\/pre>\n<p><\/p>\n<h3>\u258dS\u0113rijas dz\u0113\u0161ana<\/h3>\n<p>\nS\u0113riju var dz\u0113st \u0161\u0101di:<\/p>\n<pre><code class=\"plaintext\">docker volume rm my_volume<\/code><\/pre>\n<p>\nLai dz\u0113stu visas s\u0113rijas, kuras nav saist\u012btas ar konteineriem, varat izmantot t\u0101du komandu:<\/p>\n<pre><code class=\"plaintext\">docker volume prune<\/code><\/pre>\n<p>\nPirms s\u0113riju dz\u0113\u0161anas Docker l\u016bgs apstiprin\u0101jumu \u0161o darb\u012bbu veik\u0161anai.<\/p>\n<p>Ja s\u0113rija ir saist\u012bta ar k\u0101du konteineru, to nevar\u0113s dz\u0113st, kam\u0113r attiec\u012bgais konteiners netiks dz\u0113sts. Pat ja konteiners ir dz\u0113sts, Docker ne vienm\u0113r to saprot. Ja tas notiek \u2014 varat izmantot sekojo\u0161o komandu:<\/p>\n<pre><code class=\"plaintext\">docker system prune<\/code><\/pre>\n<p>\nT\u0101 ir paredz\u0113ta Docker resursu t\u012br\u012b\u0161anai. P\u0113c \u0161\u012bs komandas izpildes jums vajadz\u0113tu b\u016bt iesp\u0113jai dz\u0113st s\u0113rijas, kuru statuss iepriek\u0161 tika noteikts nepareizi.<\/p>\n<h2>Karogos \u2014mount un \u2014volume<\/h2>\n<p>\nLai str\u0101d\u0101tu ar s\u0113rij\u0101m, jums, izsaucot komandu <code>docker<\/code>, bie\u017ei b\u016bs j\u0101izmanto flagi. Piem\u0113ram, lai izveidotu s\u0113riju konteineru veido\u0161anas laik\u0101, var izmantot \u0161\u0101du konstrukciju:<\/p>\n<pre><code class=\"plaintext\">docker container run --mount source=my_volume, target=\\\/container\\\/path\\\/for\\\/volume my_image<\/code><\/pre>\n<p>\nSen\u0101k (pirms 2017. gada) popul\u0101rs bija flags <code>--volume<\/code>. S\u0101kotn\u0113ji \u0161o flagu (to var izmantot ar\u012b sa\u012bsin\u0101t\u0101 veid\u0101, tad tas izskat\u0101s k\u0101 <code>-v<\/code>) izmantoja patst\u0101v\u012bgiem konteineriem, bet flagu <code>--mount<\/code> izmantoja Docker Swarm vid\u0113. Tom\u0113r kop\u0161 Docker 17.06 flagu <code>--mount<\/code> var izmantot jebkur\u0101 scen\u0101rij\u0101.<\/p>\n<p>J\u0101atz\u012bm\u0113, ka izmantojot flagu <code>--mount<\/code> , palielin\u0101s papildus datu apjoms, kas j\u0101nor\u0101da komand\u0101, bet, vair\u0101ku iemeslu d\u0113\u013c, lab\u0101k ir izmantot tie\u0161i \u0161o flagu, nevis <code>--volume<\/code>. Karogs <code>--mount<\/code> \u2014 tas ir vien\u012bgais meh\u0101nisms, kas \u013cauj str\u0101d\u0101t ar pakalpojumiem vai nor\u0101d\u012bt s\u0113rijas vad\u012bt\u0101ja parametrus. Turkl\u0101t ar \u0161o flagu ir viegl\u0101k str\u0101d\u0101t.<\/p>\n<p>Eso\u0161ajos komandu piem\u0113ros, kas attiecas uz datu apstr\u0101di Docker, j\u016bs varat sastapt daudz piem\u0113ru, kur tiek izmantots flags <code>-v<\/code>. Cen\u0161oties piel\u0101got \u0161\u012bs komandas sev, \u0146emiet v\u0113r\u0101, ka flagi <code>--mount<\/code> un <code>--volume<\/code> izmanto da\u017e\u0101dus parametrus form\u0101tus. T\u0101tad, nav iesp\u0113jams vienk\u0101r\u0161i nomain\u012bt <code>-v<\/code> uz <code>--mount<\/code> un ieg\u016bt str\u0101d\u0101jo\u0161u komandu.<\/p>\n<p>Galven\u0101 at\u0161\u0137ir\u012bba starp <code>--mount<\/code> un <code>--volume<\/code> ir t\u0101da, ka izmantojot flagu <code>--volume<\/code> visi parametri tiek apkopoti kop\u0101, vien\u0101 lauk\u0101, bet izmantojot <code>--mount<\/code> parametri tiek dal\u012bti.<\/p>\n<p>Str\u0101d\u0101jot ar <code>--mount<\/code> parametri tiek att\u0113loti k\u0101 atsl\u0113gas-v\u0113rt\u012bbas p\u0101ri, proti, tas izskat\u0101s \u0161\u0101di <code>key=value<\/code>. \u0160os p\u0101rus atdala ar komatiem. \u0160eit ir bie\u017ei lietoti parametri <code>--mount<\/code>:<\/p>\n<ul>\n<li><code>type<\/code> \u2014 mount tips. Attiec\u012bg\u0101 atsl\u0113ja var pie\u0146emt \u0161\u0101das v\u0113rt\u012bbas <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.docker.com\/storage\/bind-mounts\/\">bind<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.docker.com\/storage\/volumes\/\">volume<\/a><\/noindex> vai <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.docker.com\/storage\/tmpfs\/\">tmpfs<\/a><\/noindex>. M\u0113s run\u0101jam par tiltiem, proti, m\u016bs interes\u0113 v\u0113rt\u012bba <code>volume<\/code>.<\/li>\n<li><code>source<\/code> \u2014 mont\u0113\u0161anas avots. Nosaukt\u0101m tiltiem t\u0101 ir tilta nosaukums. Ne-nosauktajiem tiltiem \u0161o atsl\u0113gu nenor\u0101da. To var sa\u012bsin\u0101t l\u012bdz <code>src<\/code>.<\/li>\n<li><code>destination<\/code> \u2014 ce\u013c\u0161, kur\u0101 faila vai mapes tiek mont\u0113tas konteiner\u0101. \u0160o atsl\u0113gu var sa\u012bsin\u0101t l\u012bdz <code>dst<\/code> vai <code>target<\/code>.<\/li>\n<li><code>readonly<\/code> \u2014 mont\u0113 tiltu, kas paredz\u0113ts <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.docker.com\/storage\/volumes\/#use-a-read-only-volume\">tikai las\u012b\u0161anai<\/a><\/noindex>. \u0160\u012bs atsl\u0113gas lieto\u0161ana nav oblig\u0101ta, v\u0113rt\u012bba tai netiek pie\u0161\u0137irta.<\/li>\n<\/ul>\n<p>\n\u0160eit ir piem\u0113rs, k\u0101 lietot <code>--mount<\/code> ar daudz\u0101m parametriem:<\/p>\n<pre><code class=\"plaintext\">docker run --mount type=volume,source=volume_name,destination=\\\/path\\\/in\\\/container,readonly my_image<\/code><\/pre>\n<p><\/p>\n<h2>Secin\u0101jumi<\/h2>\n<p>\n\u0160eit ir noder\u012bgas komandas, ar kur\u0101m var str\u0101d\u0101t, lietojot Docker tiltiem:<\/p>\n<ul>\n<li><code>docker volume create<\/code><\/li>\n<li><code>docker volume ls<\/code><\/li>\n<li><code>docker volume inspect<\/code><\/li>\n<li><code>docker volume rm<\/code><\/li>\n<li><code>docker volume prune<\/code><\/li>\n<\/ul>\n<p>\n\u0160eit ir bie\u017ei lietoti parametri saraksts <code>--mount<\/code>, kas piem\u0113rojami komandai form\u0101 <code>docker run --mount my_options my_image<\/code>:<\/p>\n<ul>\n<li><code>type=volume<\/code><\/li>\n<li><code>source=volume_name<\/code><\/li>\n<li><code>destination=\\\/path\\\/in\\\/container<\/code><\/li>\n<li><code>readonly<\/code><\/li>\n<\/ul>\n<p>\nTagad, kad m\u0113s esam pabeigu\u0161i \u0161o materi\u0101lu s\u0113riju par Docker, pien\u0101cis laiks pateikt da\u017eus v\u0101rdus par to, kur cilv\u0113kiem, kas apg\u016bst Docker, b\u016btu j\u0101virz\u0101s t\u0101l\u0101k. <noindex><a rel=\"nofollow\" href=\"https:\/\/medium.freecodecamp.org\/a-beginner-friendly-introduction-to-containers-vms-and-docker-79a9e3e119b\">\u0160eit<\/a><\/noindex> liela laba gr\u0101mata par Docker. <noindex><a rel=\"nofollow\" href=\"https:\/\/www.amazon.com\/Docker-Deep-Dive-Nigel-Poulton-ebook\/dp\/B01LXWQUFF\">\u0160eit<\/a><\/noindex> gr\u0101mata par Docker (p\u0113rkot \u0161o gr\u0101matu, m\u0113\u0123iniet ieg\u016bt visjaun\u0101ko t\u0101s izdevumu). <noindex><a rel=\"nofollow\" href=\"https:\/\/dockerbook.com\/\">\u0160eit<\/a><\/noindex> v\u0113l viena gr\u0101mata, kas der\u0113s tiem, kas uzskata, ka prakse ir lab\u0101kais veids, k\u0101 apg\u016bt tehnolo\u0123ijas.<\/p>\n<p><b>Cien\u012bjamie las\u012bt\u0101ji!<\/b> Kurus materi\u0101lus par Docker j\u016bs ieteiktu apg\u016bt ies\u0101c\u0113jiem?<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/ruvds.com\/ru-rub\/#order\"><img decoding=\"async\" alt=\"M\u0101c\u0101mies Docker, 6. da\u013ca: darbs ar datiem\" src=\"\/wp-content\/uploads\/2019\/05\/78a5dd35cfae6d1e291f175957207436.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><br \/>\n<br \/>Avots: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ruvds\/blog\/441574\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412 \u0441\u0435\u0433\u043e\u0434\u043d\u044f\u0448\u043d\u0435\u0439 \u0447\u0430\u0441\u0442\u0438 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430 \u0441\u0435\u0440\u0438\u0438 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u0432 \u043e Docker \u043c\u044b \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043c \u043e \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438. \u0412 \u0447\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u0438 \u2014 \u043e \u0442\u043e\u043c\u0430\u0445 Docker. \u0412 \u044d\u0442\u0438\u0445 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430\u0445 \u043c\u044b \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u043b\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u0435 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u044b Docker \u0441 \u0440\u0430\u0437\u043d\u044b\u043c\u0438 \u0441\u044a\u0435\u0434\u043e\u0431\u043d\u044b\u043c\u0438 \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u044f\u043c\u0438. \u041d\u0435 \u0431\u0443\u0434\u0435\u043c \u043e\u0442\u0445\u043e\u0434\u0438\u0442\u044c \u043e\u0442 \u044d\u0442\u043e\u0439 \u0442\u0440\u0430\u0434\u0438\u0446\u0438\u0438 \u0438 \u0437\u0434\u0435\u0441\u044c. \u0414\u0430\u043d\u043d\u044b\u0435 \u0432 Docker \u043f\u0443\u0441\u0442\u044c \u0431\u0443\u0434\u0443\u0442 \u0441\u043f\u0435\u0446\u0438\u044f\u043c\u0438. \u0412 \u043c\u0438\u0440\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0432\u0438\u0434\u043e\u0432 \u0441\u043f\u0435\u0446\u0438\u0439, \u0430 \u0432 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":24642,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-32873","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.5 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412 \u0441\u0435\u0433\u043e\u0434\u043d\u044f\u0448\u043d\u0435\u0439 \u0447\u0430\u0441\u0442\u0438 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430 \u0441\u0435\u0440\u0438\u0438 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u0432 \u043e Docker \u043c\u044b \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043c \u043e \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438. \u0412 \u0447\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u0438 \u2014 \u043e \u0442\u043e\u043c\u0430\u0445 Docker.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/lv\/blog\/administrirovanie\/izuchaem-docker-chast-6-rabota-s-dannymi\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.5\" \/>\n\t\t<meta property=\"og:locale\" content=\"lv_LV\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0418\u0437\u0443\u0447\u0430\u0435\u043c Docker, \u0447\u0430\u0441\u0442\u044c 6: \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412 \u0441\u0435\u0433\u043e\u0434\u043d\u044f\u0448\u043d\u0435\u0439 \u0447\u0430\u0441\u0442\u0438 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430 \u0441\u0435\u0440\u0438\u0438 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u0432 \u043e Docker \u043c\u044b \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043c \u043e \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438. \u0412 \u0447\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u0438 \u2014 \u043e \u0442\u043e\u043c\u0430\u0445 Docker.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/lv\/blog\/administrirovanie\/izuchaem-docker-chast-6-rabota-s-dannymi\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T18:49:25+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:49:25+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47M\u0101c\u0101mies Docker, 6. da\u013ca: dati | ProHoster","description":"\u0160odienas Docker materi\u0101lu tulkojuma da\u013c\u0101 m\u0113s run\u0101sim par datu apstr\u0101di. \u012apa\u0161i \u2014 par Docker tiltiem.","canonical_url":"https:\/\/prohoster.info\/lv\/blog\/administrirovanie\/izuchaem-docker-chast-6-rabota-s-dannymi","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"lv_LV","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0418\u0437\u0443\u0447\u0430\u0435\u043c Docker, \u0447\u0430\u0441\u0442\u044c 6: \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 | ProHoster","og:description":"\u0412 \u0441\u0435\u0433\u043e\u0434\u043d\u044f\u0448\u043d\u0435\u0439 \u0447\u0430\u0441\u0442\u0438 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430 \u0441\u0435\u0440\u0438\u0438 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u0432 \u043e Docker \u043c\u044b \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043c \u043e \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438. \u0412 \u0447\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u0438 \u2014 \u043e \u0442\u043e\u043c\u0430\u0445 Docker.","og:url":"https:\/\/prohoster.info\/lv\/blog\/administrirovanie\/izuchaem-docker-chast-6-rabota-s-dannymi","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T18:49:25+00:00","article:modified_time":"2019-10-31T18:49:25+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"32873","title":null,"description":null,"keywords":null,"keyphrases":{"focus":[],"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 12:57:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 18:56:03","updated":"2026-08-11 12:50:34","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/posts\/32873","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/comments?post=32873"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/posts\/32873\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/media\/24642"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/media?parent=32873"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/categories?post=32873"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/tags?post=32873"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}