{"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\/et\/blog\/administrirovanie\/izuchaem-docker-chast-6-rabota-s-dannymi","title":{"rendered":"Uurime Docker'it, osa 6: andmetega t\u00f6\u00f6tamine","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Selles Dockeri materjali seeria osas r\u00e4\u00e4gime andmete haldamisest. Eelk\u00f5ige r\u00e4\u00e4gime Dockeri volumest. Kogu selle seeria jooksul oleme pidevalt v\u00f5rdlenud Dockeri mehhanisme erinevate toidu analoogidega. J\u00e4tkame seda traditsiooni ka siin. Andmeid Dockeris v\u00f5iks v\u00f5rrelda v\u00fcrtsidega. Maailmas on palju erinevaid v\u00fcrtse, ja Dockeris on palju erinevaid andmehalduse viise.<\/p>\n<p>\u2192 <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/post\/438796\/\">Osa 1: alused<\/a><\/noindex><br \/>\n\u2192 <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/post\/439978\/\">Osa 2: terminid ja kontseptsioonid<\/a><\/noindex><br \/>\n\u2192 <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/post\/439980\/\">Osa 3: Dockerfile'id<\/a><\/noindex><br \/>\n\u2192 <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/post\/440658\/\">Osa 4: piltide suuruste v\u00e4hendamine ja nende koostamise kiirendamine<\/a><\/noindex><br \/>\n\u2192 <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/post\/440660\/\">Osa 5: k\u00e4sud<\/a><\/noindex><br \/>\n\u2192 <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/post\/441574\/\">Osa 6: andmete haldamine<\/a><\/noindex><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ruvds\/blog\/441574\/\"><img decoding=\"async\" alt=\"Uurime Docker&#039;it, osa 6: andmetega t\u00f6\u00f6tamine\" 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 \/>\nPange t\u00e4hele, et see materjal on koostatud Docker mootoriga versioon 18.09.1 ja API versiooniga <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.docker.com\/engine\/api\/version-history\/\">1.39<\/a><\/noindex>.<\/p>\n<p>Andmed Dockeris v\u00f5ivad olla kas ajutised v\u00f5i p\u00fcsivad. Alustame ajutistest andmetest.<\/p>\n<h2>Ajutine andmete salvestamine<\/h2>\n<p>\nDockeri konteinerites saab ajutiste andmete haldamiseks kasutada kahte v\u00f5imalust.<\/p>\n<p>Vaikimisi salvestatakse konteineris t\u00f6\u00f6tava rakenduse loodud failid konteineri kirjutusv\u00f5imelisse kihti. Selle mehhanismi toimimiseks ei ole vaja midagi spetsiaalselt seadistada. See on odav ja efektiivne. Rakendusele on piisav andmete salvestamine ja oma tegevuste j\u00e4tkamine. Siiski, kui konteiner l\u00f5petab oma olemise, kaovad ka andmed, mis on sellisel lihtsal viisil salvestatud.<\/p>\n<p>Ajutiste failide salvestamiseks Dockeris on veel \u00fcks lahendus, mis sobib olukordadesse, kus on vajalik k\u00f5rgem j\u00f5udlus v\u00f5rreldes tavap\u00e4rase ajutiste andmete salvestamise mehhanismiga. Kui te ei vaja, et teie andmed p\u00fcsiksid kauem kui konteiner, saate konteinerile \u00fchendada tmpfs \u2014 m\u00e4lu ajutise salvestuse, mis kasutab hosti RAM-i. See v\u00f5imaldab kiirendada andmete kirjutamise ja lugemise tehingute toimimist.<\/p>\n<p>Sageli on nii, et andmeid tuleb hoida ka p\u00e4rast konteineri l\u00f5petamist. Selleks vajame p\u00fcsiva andmete salvestamise mehhanisme.<\/p>\n<h2>P\u00fcsiv andmete salvestamine<\/h2>\n<p>\nOn olemas kaks viisi, kuidas andmete eluiga pikendada v\u00f5rreldes konteineri elueaga. \u00dcks viis on bind mount tehnoloogia kasutamine. Sellisel juhul saab konteineriga \u00fchendada n\u00e4iteks reaalselt olemasoleva kausta. Andmetega, mis asuvad sellises kaustas, saavad t\u00f6\u00f6tada ka protsessid, mis asuvad v\u00e4ljaspool Dockerit. Nii n\u00e4evad <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.docker.com\/storage\/volumes\/\">v\u00e4lja<\/a><\/noindex> tmpfs mountimine ja bind mount tehnoloogia.<\/p>\n<p><img decoding=\"async\" alt=\"Uurime Docker&#039;it, osa 6: andmetega t\u00f6\u00f6tamine\" src=\"\/wp-content\/uploads\/2019\/05\/73b9b7fd59b1321edb9f58953285d8d5.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>tmpfs mountimine ja bind mount<\/i><\/p>\n<p>Bind mount tehnoloogia kasutamise miinused seisnevad selles, et selle kasutamine raskendab andmete varundamist, andmete migreerimist ja andmete jagamist mitme konteineri vahel. Palju parem on kasutada Dockeri volume p\u00fcsivaks andmete salvestamiseks.<\/p>\n<h2>Dockeri volumid<\/h2>\n<p>\nVolume on failis\u00fcsteem, mis asub hostmasinas konteineritest v\u00e4ljaspool. Volumite loomise ja haldamise eest vastutab Docker. Siin on Dockeri volumi peamised omadused:<\/p>\n<ul>\n<li>Need on vahendid p\u00fcsiva andmete salvestamiseks.<\/li>\n<li>Nad on iseseisvad ja eraldatud konteineritest.<\/li>\n<li>Nendega saavad \u00fchiselt kasutada erinevad konteinerid.<\/li>\n<li>Nad v\u00f5imaldavad efektiivset andmete lugemist ja kirjutamist.<\/li>\n<li>Volumes saab paigutada kaugteenuse pakkuja ressurssidele.<\/li>\n<li>Neid saab kr\u00fcpteerida.<\/li>\n<li>Neile saab anda nimesid.<\/li>\n<li>Konteiner saab enne t\u00e4ita volumi andmetega.<\/li>\n<li>Need on mugavad testimiseks.<\/li>\n<\/ul>\n<p>\nNagu n\u00e4ete, omadused Dockeri volumid on erakordsed. R\u00e4\u00e4gime, kuidas neid luua.<\/p>\n<h2>Volumite loomine<\/h2>\n<p>\nVolumeid saab luua Docker kasutades v\u00f5i API p\u00e4ringute abil.<\/p>\n<p>Siin on Dockerfile'is juhis, mis v\u00f5imaldab luua volumi konteineri k\u00e4ivitamisel.<\/p>\n<pre><code class=\"plaintext\">VOLUME \/my_volume<\/code><\/pre>\n<p>\nSellise k\u00e4su kasutamisel loob Docker konteineri loomise j\u00e4rel volumi, mis sisaldab juba olemasolevaid andmeid. Pange t\u00e4hele, et Dockerfile'i kasutamisel volumi loomine ei vabasta teid kohustusest m\u00e4\u00e4rata volumi mountimispunkt.<\/p>\n<p>Volumeid saab Dockerfile'is luua ka JSON formaadis.<\/p>\n<p>Lisaks saab volumeid luua k\u00e4surea abil konteineri t\u00f6\u00f6 ajal.<\/p>\n<h2>Volumitega t\u00f6\u00f6tamine k\u00e4surealt<\/h2>\n<p><\/p>\n<h3>\u258dVolumi loomine<\/h3>\n<p>\nIseseisva volumi loomine on v\u00f5imalik j\u00e4rgmise k\u00e4su abil:<\/p>\n<pre><code class=\"plaintext\">docker volume create \u2014-name my_volume<\/code><\/pre>\n<p><\/p>\n<h3>\u258dTeabe leidmine volumide kohta<\/h3>\n<p>\nDockeri volumite nimekirja vaatamiseks kasutage j\u00e4rgmist k\u00e4sku:<\/p>\n<pre><code class=\"plaintext\">docker volume ls<\/code><\/pre>\n<p>\nKonkreetse volumi uurimiseks t\u00f5husalt:<\/p>\n<pre><code class=\"plaintext\">docker volume inspect my_volume<\/code><\/pre>\n<p><\/p>\n<h3>\u258dVolumi eemaldamine<\/h3>\n<p>\nVolumi eemaldamine on v\u00f5imalik j\u00e4rgmisel viisil:<\/p>\n<pre><code class=\"plaintext\">docker volume rm my_volume<\/code><\/pre>\n<p>\nK\u00f5ikide mahutite, mida ei kasutata konteineritega, eemaldamiseks saate kasutada j\u00e4rgmist k\u00e4sku:<\/p>\n<pre><code class=\"plaintext\">docker volume prune<\/code><\/pre>\n<p>\nEnne mahutite kustutamist palub Docker teil kinnitada selle toimingu sooritamine.<\/p>\n<p>Kui mahuti on seotud mingi konteineriga, ei saa sellist mahutit kustutada enne, kui vastav konteiner on eemaldatud. Samuti, isegi kui konteiner on eemaldatud, ei pruugi Docker seda alati m\u00f5ista. Kui see juhtub \u2014 v\u00f5ite kasutada j\u00e4rgmist k\u00e4sku:<\/p>\n<pre><code class=\"plaintext\">docker system prune<\/code><\/pre>\n<p>\nSee on m\u00f5eldud Docker'i ressursside puhastamiseks. P\u00e4rast selle k\u00e4su t\u00e4itmist peaksite saama kustutada mahutid, mille olek oli varem ekslikult m\u00e4\u00e4ratud.<\/p>\n<h2>Lipud \u2014mount ja \u2014volume<\/h2>\n<p>\nMahutitega t\u00f6\u00f6tamiseks peate k\u00e4su v\u00e4ljakutsumisel <code>docker<\/code>, sageli kasutama fl\u00e4kke. N\u00e4iteks, et luua mahuti konteineri loomise k\u00e4igus, saate kasutada j\u00e4rgmist s\u00fcntaksit:<\/p>\n<pre><code class=\"plaintext\">docker container run --mount source=my_volume, target=\/container\/path\/for\/volume my_image<\/code><\/pre>\n<p>\nKauges minevikus (enne 2017. aastat) oli populaarne fl\u00e4kk <code>--volume<\/code>. Alguses kasutati seda fl\u00e4ki (mida saab kasutada ka l\u00fchendatud kujul, siis n\u00e4eb see v\u00e4lja nagu <code>-v<\/code>) iseseisvate konteinerite jaoks, samas kui fl\u00e4kk <code>--mount<\/code> oli m\u00f5eldud Docker Swarmi keskkonnas. Kuid alates Docker 17.06-st saab fl\u00e4kk <code>--mount<\/code> kasutada k\u00f5igis stsenaariumites.<\/p>\n<p>Tuleb m\u00e4rkida, et fl\u00e4ki kasutamisel <code>--mount<\/code> kasvab t\u00e4iendavate andmete hulk, mida tuleb k\u00e4skluses m\u00e4rkida, kuid mitmel p\u00f5hjusel on parem kasutada just seda fl\u00e4ki, mitte <code>--volume<\/code>. Lipuke <code>--mount<\/code> \u2014 see on ainus mehhanism, mis v\u00f5imaldab t\u00f6\u00f6tada teenustega v\u00f5i m\u00e4\u00e4rata mahuti draiveri parameetreid. Lisaks on selle fl\u00e4kiga t\u00f6\u00f6tamine lihtsam.<\/p>\n<p>Kohalike k\u00e4skude n\u00e4idetes, mis on suunatud andmetega t\u00f6\u00f6tamisele Dockeris, v\u00f5ite leida palju n\u00e4iteid fl\u00e4ki <code>-v<\/code>. P\u00fc\u00fcdes nende k\u00e4ske enda jaoks kohandada, arvestage, et fl\u00e4kid <code>--mount<\/code> ja <code>--volume<\/code> kasutavad erinevaid parameetrite formaate. See t\u00e4hendab, et te ei saa lihtsalt asendada <code>-v<\/code> j\u00e4rgnevaga <code>--mount<\/code> ja saada t\u00f6\u00f6tavat k\u00e4sku.<\/p>\n<p>Peamine erinevus fl\u00e4kkide vahel <code>--mount<\/code> ja <code>--volume<\/code> on see, et fl\u00e4ki kasutamisel <code>--volume<\/code> kogutakse k\u00f5ik parameetrid kokku \u00fchte v\u00e4ljasse, samas kui <code>--mount<\/code> parameetrid on eraldi.<\/p>\n<p>T\u00f6\u00f6tades <code>--mount<\/code> parameetrid esitatakse v\u00f5tme-v\u00e4\u00e4rtuse paaridena, nagu n\u00e4iteks <code>key=value<\/code>. Need paarid eraldatakse komadega. Siin on sageli kasutatavad parameetrid <code>--mount<\/code>:<\/p>\n<ul>\n<li><code>type<\/code> \u2014 montaa\u017ei t\u00fc\u00fcp. Vastavaks v\u00f5tme v\u00e4\u00e4rtuseks v\u00f5ivad olla <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> v\u00f5i <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.docker.com\/storage\/tmpfs\/\">tmpfs<\/a><\/noindex>. R\u00e4\u00e4gime siin mahutitest, seega \u2014 meid huvitab v\u00e4\u00e4rtus <code>volume<\/code>.<\/li>\n<li><code>source<\/code> \u2014 montaa\u017ei allikas. Nimetatud mahutite puhul on see \u2014 mahuti nimi. Nimeta mahutite puhul seda v\u00f5ti ei n\u00e4idata. Seda saab l\u00fchendada <code>src<\/code>.<\/li>\n<li><code>destination<\/code> \u2014 tee, kuhu fail v\u00f5i kaust montaa\u017eitakse konteineris. Seda v\u00f5tit saab l\u00fchendada <code>dst<\/code> v\u00f5i <code>target<\/code>.<\/li>\n<li><code>readonly<\/code> \u2014 montaa\u017eib mahutit, mis on m\u00f5eldud <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.docker.com\/storage\/volumes\/#use-a-read-only-volume\">ainult lugemiseks<\/a><\/noindex>. Selle v\u00f5tme kasutamine ei ole kohustuslik, v\u00e4\u00e4rtust ei m\u00e4\u00e4rata.<\/li>\n<\/ul>\n<p>\nSiin on n\u00e4ide, kuidas kasutada <code>--mount<\/code> paljude parameetritega:<\/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>Kokkuv\u00f5te<\/h2>\n<p>\nSiin on kasulikud k\u00e4sud, millega saate t\u00f6\u00f6tada Docker'i mahutitega:<\/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>\nSiin on nimekiri sageli kasutatavatest parameetritest <code>--mount<\/code>, mida saab kasutada k\u00e4sus <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>\nN\u00fc\u00fcd, kui oleme selle Docker'i materjalide sarja l\u00f5petanud, on aeg \u00f6elda paar s\u00f5na selle kohta, kuhu suunduda edasi neile, kes uurivad Docker'i. <noindex><a rel=\"nofollow\" href=\"https:\/\/medium.freecodecamp.org\/a-beginner-friendly-introduction-to-containers-vms-and-docker-79a9e3e119b\">Siin on<\/a><\/noindex> suurep\u00e4rane artikkel Docker'ist. <noindex><a rel=\"nofollow\" href=\"https:\/\/www.amazon.com\/Docker-Deep-Dive-Nigel-Poulton-ebook\/dp\/B01LXWQUFF\">Siin on<\/a><\/noindex> raamat Docker'ist (ostes proovige hankida selle k\u00f5ige v\u00e4rskem v\u00e4ljaanne). <noindex><a rel=\"nofollow\" href=\"https:\/\/dockerbook.com\/\">Siin on<\/a><\/noindex> veel \u00fcks raamat, mis sobib neile, kes usuvad, et praktika on parim viis tehnoloogiate \u00f5ppimiseks.<\/p>\n<p><b>Lugupidamisega lugejad!<\/b> Milliseid Docker'i materjale soovitaksite algajatele uurida?<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/ruvds.com\/ru-rub\/#order\"><img decoding=\"async\" alt=\"Uurime Docker&#039;it, osa 6: andmetega t\u00f6\u00f6tamine\" src=\"\/wp-content\/uploads\/2019\/05\/78a5dd35cfae6d1e291f175957207436.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><br \/>\n<br \/>Allikas: <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.0.1 - 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\/et\/blog\/administrirovanie\/izuchaem-docker-chast-6-rabota-s-dannymi\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"et_EE\" \/>\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\/et\/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\udd47Uurime Docker'it, osa 6: andmetega t\u00f6\u00f6tamine | ProHoster","description":"K\u00e4esolevas Docker'i materjalide seeria t\u00f5lkeosas r\u00e4\u00e4gime andmete t\u00f6\u00f6tlemisest. T\u00e4psemalt \u2014 Docker'i mahutidest.","canonical_url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/izuchaem-docker-chast-6-rabota-s-dannymi","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"et_EE","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\/et\/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\/et\/wp-json\/wp\/v2\/posts\/32873","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=32873"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/32873\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media\/24642"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=32873"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=32873"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=32873"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}