{"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\/ro\/blog\/administrirovanie\/izuchaem-docker-chast-6-rabota-s-dannymi","title":{"rendered":"\u00cenv\u0103\u021b\u0103m Docker, partea 6: lucrul cu datele","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>\u00cen aceast\u0103 parte a traducerii seriei de materiale despre Docker, vom discuta despre gestionarea datelor. \u00cen special, despre volumele Docker. \u00cen aceste materiale, am comparat constant mecanismele software ale Docker cu diferite analogii comestibile. Nu ne vom abate de la aceast\u0103 tradi\u021bie nici aici. Datele \u00een Docker s\u0103 fie considerate condimente. Exist\u0103 multe tipuri de condimente \u00een lume, iar \u00een Docker exist\u0103 multe moduri de a gestiona datele.<\/p>\n<p>\u2192 <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/post\/438796\/\">Partea 1: bazele<\/a><\/noindex><br \/>\n\u2192 <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/post\/439978\/\">Partea 2: termeni \u0219i concepte<\/a><\/noindex><br \/>\n\u2192 <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/post\/439980\/\">Partea 3: fi\u0219iere Dockerfile<\/a><\/noindex><br \/>\n\u2192 <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/post\/440658\/\">Partea 4: reducerea dimensiunii imaginilor \u0219i accelerarea construirii acestora<\/a><\/noindex><br \/>\n\u2192 <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/post\/440660\/\">Partea 5: comenzi<\/a><\/noindex><br \/>\n\u2192 <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/post\/441574\/\">Partea 6: gestionarea datelor<\/a><\/noindex><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ruvds\/blog\/441574\/\"><img decoding=\"async\" alt=\"\u00cenv\u0103\u021b\u0103m Docker, partea 6: lucrul cu datele\" 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 \/>\nRe\u021bine\u021bi c\u0103 acest material a fost preg\u0103tit folosind engine-ul Docker versiunea 18.09.1 \u0219i API versiunea <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.docker.com\/engine\/api\/version-history\/\">1.39<\/a><\/noindex>.<\/p>\n<p>Datele \u00een Docker pot fi stocate fie temporar, fie permanent. S\u0103 \u00eencepem cu datele temporare.<\/p>\n<h2>Stocarea temporar\u0103 a datelor<\/h2>\n<p>\n\u00cen containerele Docker, gestionarea datelor temporare se poate face \u00een dou\u0103 moduri.<\/p>\n<p>Implicit, fi\u0219ierele create de aplica\u021bia care ruleaz\u0103 \u00een container sunt salvate \u00een stratul containerului care suport\u0103 scrierea. Pentru ca acest mecanism s\u0103 func\u021bioneze, nu trebuie s\u0103 configur\u0103m nimic special. Se dovede\u0219te c\u0103 este ieftin \u0219i eficient. Aplica\u021bia trebuie doar s\u0103 salveze datele \u0219i s\u0103 continue s\u0103 \u00ee\u0219i desf\u0103\u0219oare activitatea. Totu\u0219i, dup\u0103 ce containerul nu mai exist\u0103, datele salvate \u00een acest mod simplu vor disp\u0103rea.<\/p>\n<p>Pentru stocarea fi\u0219ierelor temporare \u00een Docker, se poate folosi o alt\u0103 solu\u021bie, potrivit\u0103 pentru cazurile \u00een care este necesar un nivel mai ridicat de performan\u021b\u0103, comparativ cu cel realizabil prin utilizarea mecanismului standard de stocare temporar\u0103 a datelor. Dac\u0103 nu ave\u021bi nevoie ca datele dvs. s\u0103 r\u0103m\u00e2n\u0103 stocate mai mult dec\u00e2t perioada de existen\u021b\u0103 a containerului, pute\u021bi conecta containerului tmpfs \u2014 un depozit temporar de informa\u021bii care utilizeaz\u0103 memoria RAM a gazdei. Acest lucru va accelera opera\u021biunile de scriere \u0219i citire a datelor.<\/p>\n<p>Adesea, datele trebuie s\u0103 fie stocate \u0219i dup\u0103 ce containerul a \u00eencetat s\u0103 existe. Pentru aceasta, ne vor fi utile mecanismele de stocare permanent\u0103 a datelor.<\/p>\n<h2>Stocarea permanent\u0103 a datelor<\/h2>\n<p>\nExist\u0103 dou\u0103 metode care permit prelungirea duratei de via\u021b\u0103 a datelor pe o perioad\u0103 mai mare dec\u00e2t durata de via\u021b\u0103 a containerului. Una dintre metode const\u0103 \u00een utilizarea tehnologiei bind mount. Prin aceast\u0103 abordare, se poate monta, de exemplu, un folder existent pe disc pentru container. Procesele din afara Docker vor putea lucra cu datele stocate \u00een acel folder. Iat\u0103 cum <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.docker.com\/storage\/volumes\/\">arat\u0103<\/a><\/noindex> montarea tmpfs \u0219i tehnologia bind mount.<\/p>\n<p><img decoding=\"async\" alt=\"\u00cenv\u0103\u021b\u0103m Docker, partea 6: lucrul cu datele\" src=\"\/wp-content\/uploads\/2019\/05\/73b9b7fd59b1321edb9f58953285d8d5.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Montarea tmpfs \u0219i bind mount<\/i><\/p>\n<p>Dezavantajele utiliz\u0103rii tehnologiei bind mount constau \u00een faptul c\u0103 utilizarea acesteia complic\u0103 procesul de backup al datelor, migrarea datelor \u0219i partajarea datelor \u00eentre mai multe containere. Este mult mai bine s\u0103 folosi\u021bi volume Docker pentru stocarea permanent\u0103 a datelor.<\/p>\n<h2>Volume Docker<\/h2>\n<p>\nUn volum este un sistem de fi\u0219iere care se afl\u0103 pe ma\u0219ina gazd\u0103, \u00een afara containerelor. Crearea \u0219i gestionarea volumelor este realizat\u0103 de Docker. Iat\u0103 principalele caracteristici ale volumelor Docker:<\/p>\n<ul>\n<li>Ele reprezint\u0103 mijloace pentru stocarea permanent\u0103 a informa\u021biilor.<\/li>\n<li>Ele sunt autonome \u0219i separate de containere.<\/li>\n<li>Ele pot fi utilizate \u00een comun de diferite containere.<\/li>\n<li>Ele permit organizarea eficient\u0103 a citirii \u0219i scrierii datelor.<\/li>\n<li>Volumele pot fi amplasate pe resursele unui furnizor de cloud extern.<\/li>\n<li>Se pot cripta.<\/li>\n<li>Le po\u021bi da nume.<\/li>\n<li>Containerul poate organiza umplerea anticipat\u0103 a volumului cu date.<\/li>\n<li>Ele sunt convenabile pentru testare.<\/li>\n<\/ul>\n<p>\nA\u0219a cum vede\u021bi, volumele Docker au propriet\u0103\u021bi remarcabile. S\u0103 discut\u0103m despre cum le putem crea.<\/p>\n<h2>Crearea volumelor<\/h2>\n<p>\nVolumele pot fi create folosind Docker sau prin cereri la API.<\/p>\n<p>Iat\u0103 o instruc\u021biune din Dockerfile care permite crearea unui volum la lansarea containerului.<\/p>\n<pre><code class=\"plaintext\">VOLUME \/my_volume<\/code><\/pre>\n<p>\nPrin utilizarea unei astfel de instruc\u021biuni Docker, dup\u0103 crearea containerului, se va crea un volum care con\u021bine datele deja existente \u00een loca\u021bia specificat\u0103. V\u0103 rug\u0103m s\u0103 re\u021bine\u021bi c\u0103 dac\u0103 crea\u021bi un volum utiliz\u00e2nd Dockerfile, acest lucru nu v\u0103 scute\u0219te de necesitatea de a specifica punctul de montare al volumului.<\/p>\n<p>Volumele \u00een Dockerfile pot fi create \u0219i folosind formatul JSON.<\/p>\n<p>\u00cen plus, volumele pot fi create utiliz\u00e2nd linia de comand\u0103 \u00een timpul func\u021bion\u0103rii containerului.<\/p>\n<h2>Operarea cu volume din linia de comand\u0103<\/h2>\n<p><\/p>\n<h3>\u258dCrearea unui volum<\/h3>\n<p>\nUn volum autonom poate fi creat cu urm\u0103toarea comand\u0103:<\/p>\n<pre><code class=\"plaintext\">docker volume create --name my_volume<\/code><\/pre>\n<p><\/p>\n<h3>\u258dOb\u021binerea informa\u021biilor despre volume<\/h3>\n<p>\nPentru a vizualiza lista volumelor Docker, utiliza\u021bi urm\u0103toarea comand\u0103:<\/p>\n<pre><code class=\"plaintext\">docker volume ls<\/code><\/pre>\n<p>\nPentru a explora un volum specific, pute\u021bi proceda astfel:<\/p>\n<pre><code class=\"plaintext\">docker volume inspect my_volume<\/code><\/pre>\n<p><\/p>\n<h3>\u258d\u0218tergerea volumului<\/h3>\n<p>\nUn volum poate fi \u0219ters astfel:<\/p>\n<pre><code class=\"plaintext\">docker volume rm my_volume<\/code><\/pre>\n<p>\nPentru a \u0219terge toate volumele care nu sunt utilizate de containere, pute\u021bi folosi urm\u0103toarea comand\u0103:<\/p>\n<pre><code class=\"plaintext\">docker volume prune<\/code><\/pre>\n<p>\n\u00cenainte de a \u0219terge volumele, Docker v\u0103 va solicita confirmarea pentru a efectua aceast\u0103 opera\u021bie.<\/p>\n<p>Dac\u0103 un volum este legat de un anumit container, acel volum nu poate fi \u0219ters p\u00e2n\u0103 c\u00e2nd containerul corespunz\u0103tor nu este \u0219ters. Totu\u0219i, chiar dac\u0103 containerul este \u0219ters, Docker nu \u00een\u021belege \u00eentotdeauna acest lucru. Dac\u0103 se \u00eent\u00e2mpl\u0103 asta, pute\u021bi folosi urm\u0103toarea comand\u0103:<\/p>\n<pre><code class=\"plaintext\">docker system prune<\/code><\/pre>\n<p>\nAceasta este destinat\u0103 cur\u0103\u021b\u0103rii resurselor Docker. Dup\u0103 executarea acestei comenzi, ar trebui s\u0103 ave\u021bi posibilitatea de a \u0219terge volumele al c\u0103ror statut a fost anterior definit incorect.<\/p>\n<h2>Flagurile &#8212;mount \u0219i &#8212;volume<\/h2>\n<p>\nPentru a lucra cu volume, va trebui s\u0103 folosi\u021bi, \u00een timpul apel\u0103rii comenzii, adesea aceste flaguri. De exemplu, pentru a crea un volum \u00een timpul cre\u0103rii unui container, pute\u021bi folosi urm\u0103toarea structur\u0103: <code>docker<\/code>docker container run --mount source=my_volume, target=\\\/container\\\/path\\\/for\\\/volume my_image<\/p>\n<pre><code class=\"plaintext\">Cu mul\u021bi ani \u00een urm\u0103 (\u00eenainte de 2017), flagul<\/code><\/pre>\n<p>\n--volume <code>era popular. Ini\u021bial, acest flag (\u00eel pute\u021bi folosi \u0219i \u00eentr-o form\u0103 scurt\u0103, atunci c\u00e2nd arat\u0103 ca<\/code>) era utilizat pentru containere autonome, iar flagul <code>-v<\/code>--mount <code>era utilizat \u00een mediul Docker Swarm. Cu toate acestea, \u00eencep\u00e2nd cu Docker 17.06, flagul<\/code> poate fi utilizat \u00een orice scenariu. <code>era utilizat \u00een mediul Docker Swarm. Cu toate acestea, \u00eencep\u00e2nd cu Docker 17.06, flagul<\/code> Trebuie men\u021bionat c\u0103 atunci c\u00e2nd folosi\u021bi flagul<\/p>\n<p>cre\u0219te volumul de date suplimentare care trebuie specificate \u00een comand\u0103, dar, din mai multe motive, este mai bine s\u0103 folosi\u021bi acest flag, nu <code>era utilizat \u00een mediul Docker Swarm. Cu toate acestea, \u00eencep\u00e2nd cu Docker 17.06, flagul<\/code> \u2014 acesta este singurul mecanism care permite lucrul cu servicii sau specificarea parametrilor driverului volumului. \u00cen plus, este mai u\u0219or s\u0103 lucra\u021bi cu acest flag. <code>era popular. Ini\u021bial, acest flag (\u00eel pute\u021bi folosi \u0219i \u00eentr-o form\u0103 scurt\u0103, atunci c\u00e2nd arat\u0103 ca<\/code>. Flag-ul <code>era utilizat \u00een mediul Docker Swarm. Cu toate acestea, \u00eencep\u00e2nd cu Docker 17.06, flagul<\/code> \u00cen exemplele existente de comenzi destinate lucrului cu date \u00een Docker, pute\u021bi \u00eent\u00e2lni numeroase exemple de utilizare a flagului<\/p>\n<p>. \u00cencerc\u00e2nd s\u0103 adapta\u021bi aceste comenzi pentru nevoile dumneavoastr\u0103, trebuie s\u0103 \u021bine\u021bi cont de faptul c\u0103 flagurile <code>-v<\/code>utilizeaz\u0103 diferite formate de parametri. Adic\u0103, nu pute\u021bi pur \u0219i simplu s\u0103 \u00eenlocui\u021bi <code>era utilizat \u00een mediul Docker Swarm. Cu toate acestea, \u00eencep\u00e2nd cu Docker 17.06, flagul<\/code> \u0219i <code>era popular. Ini\u021bial, acest flag (\u00eel pute\u021bi folosi \u0219i \u00eentr-o form\u0103 scurt\u0103, atunci c\u00e2nd arat\u0103 ca<\/code> \u0219i s\u0103 ob\u021bine\u021bi o comand\u0103 func\u021bional\u0103. <code>-v<\/code> pe <code>era utilizat \u00een mediul Docker Swarm. Cu toate acestea, \u00eencep\u00e2nd cu Docker 17.06, flagul<\/code> Principala diferen\u021b\u0103 \u00eentre<\/p>\n<p>const\u0103 \u00een faptul c\u0103 atunci c\u00e2nd folosi\u021bi flagul <code>era utilizat \u00een mediul Docker Swarm. Cu toate acestea, \u00eencep\u00e2nd cu Docker 17.06, flagul<\/code> \u0219i <code>era popular. Ini\u021bial, acest flag (\u00eel pute\u021bi folosi \u0219i \u00eentr-o form\u0103 scurt\u0103, atunci c\u00e2nd arat\u0103 ca<\/code> toate parametrii sunt aduna\u021bi \u00eempreun\u0103, \u00eentr-un singur c\u00e2mp, iar c\u00e2nd folosi\u021bi <code>era popular. Ini\u021bial, acest flag (\u00eel pute\u021bi folosi \u0219i \u00eentr-o form\u0103 scurt\u0103, atunci c\u00e2nd arat\u0103 ca<\/code> toate parametrii sunt aduna\u021bi \u00eentr-un singur c\u00e2mp, \u00een timp ce la utilizarea <code>era utilizat \u00een mediul Docker Swarm. Cu toate acestea, \u00eencep\u00e2nd cu Docker 17.06, flagul<\/code> parametrii sunt separa\u021bi.<\/p>\n<p>C\u00e2nd lucra\u021bi cu <code>era utilizat \u00een mediul Docker Swarm. Cu toate acestea, \u00eencep\u00e2nd cu Docker 17.06, flagul<\/code> parametrii sunt prezenta\u021bi sub form\u0103 de perechi cheie-valoare, adic\u0103, arat\u0103 astfel <code>cheie=valoare<\/code>. Aceste perechi sunt separate prin virgule. Iat\u0103 parametrii frecvent utiliza\u021bi <code>era utilizat \u00een mediul Docker Swarm. Cu toate acestea, \u00eencep\u00e2nd cu Docker 17.06, flagul<\/code>:<\/p>\n<ul>\n<li><code>type<\/code> \u2014 tipul de montare. Valoarea pentru cheia corespunz\u0103toare poate fi <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\/\">volum<\/a><\/noindex> sau <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.docker.com\/storage\/tmpfs\/\">tmpfs<\/a><\/noindex>. Aici vorbim despre volume, adic\u0103 \u2014 ne intereseaz\u0103 valoarea <code>volum<\/code>.<\/li>\n<li><code>source<\/code> \u2014 sursa de montare. Pentru volumele denominate aceasta este \u2014 numele volumului. Pentru volumele ne-denominate, aceast\u0103 cheie nu este specificat\u0103. Poate fi abreviat\u0103 la <code>src<\/code>.<\/li>\n<li><code>destination<\/code> \u2014 calea la care fi\u0219ierul sau folderul este montat \u00een container. Aceast\u0103 cheie poate fi abreviat\u0103 la <code>dst<\/code> sau <code>destina\u021bia<\/code>.<\/li>\n<li><code>readonly<\/code> \u2014 monteaz\u0103 un volum care este destinat <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.docker.com\/storage\/volumes\/#use-a-read-only-volume\">doar pentru citire<\/a><\/noindex>. Folosirea acestei chei nu este obligatorie, nu i se atribuie o valoare.<\/li>\n<\/ul>\n<p>\nIat\u0103 un exemplu de utilizare <code>era utilizat \u00een mediul Docker Swarm. Cu toate acestea, \u00eencep\u00e2nd cu Docker 17.06, flagul<\/code> cu multe parametre:<\/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>Concluzii<\/h2>\n<p>\nIat\u0103 comenzi utile care pot fi folosite atunci c\u00e2nd lucra\u021bi cu volume Docker:<\/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>\nIat\u0103 o list\u0103 de parametrii frecvent utiliza\u021bi pentru <code>era utilizat \u00een mediul Docker Swarm. Cu toate acestea, \u00eencep\u00e2nd cu Docker 17.06, flagul<\/code>, aplicabili \u00een comanda de tip <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>\nAcum, c\u00e2nd am finalizat aceast\u0103 serie de materiale despre Docker, a venit timpul s\u0103 spunem c\u00e2teva cuvinte despre ce pot studia mai departe cei care \u00eenva\u021b\u0103 Docker. <noindex><a rel=\"nofollow\" href=\"https:\/\/medium.freecodecamp.org\/a-beginner-friendly-introduction-to-containers-vms-and-docker-79a9e3e119b\">Iat\u0103<\/a><\/noindex> un articol mare \u0219i bun despre Docker. <noindex><a rel=\"nofollow\" href=\"https:\/\/www.amazon.com\/Docker-Deep-Dive-Nigel-Poulton-ebook\/dp\/B01LXWQUFF\">Iat\u0103<\/a><\/noindex> o carte despre Docker (cump\u0103r\u00e2nd aceast\u0103 carte, \u00eencerca\u021bi s\u0103 ob\u021bine\u021bi cea mai recent\u0103 edi\u021bie). <noindex><a rel=\"nofollow\" href=\"https:\/\/dockerbook.com\/\">Iat\u0103<\/a><\/noindex> \u00eenc\u0103 o carte, care este potrivit\u0103 pentru cei care consider\u0103 c\u0103 practica este cea mai bun\u0103 modalitate de a \u00eenv\u0103\u021ba tehnologiile.<\/p>\n<p><b>Stima\u021bi cititori!<\/b> Ce materiale despre Docker a\u021bi recomanda s\u0103 studieze \u00eencep\u0103torilor?<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/ruvds.com\/ru-rub\/#order\"><img decoding=\"async\" alt=\"\u00cenv\u0103\u021b\u0103m Docker, partea 6: lucrul cu datele\" src=\"\/wp-content\/uploads\/2019\/05\/78a5dd35cfae6d1e291f175957207436.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><br \/>\n<br \/>Sursa: <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.2.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\/ro\/blog\/administrirovanie\/izuchaem-docker-chast-6-rabota-s-dannymi\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"ro_RO\" \/>\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\/ro\/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\udd47\u00cencepem s\u0103 \u00eenv\u0103\u021b\u0103m Docker, partea 6: lucrul cu datele | ProHoster","description":"\u00cen aceast\u0103 parte a traducerii seriei de materiale despre Docker, vom discuta despre lucrul cu datele. \u00cen special \u2014 despre volumele Docker.","canonical_url":"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/izuchaem-docker-chast-6-rabota-s-dannymi","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"ro_RO","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\/ro\/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\/ro\/wp-json\/wp\/v2\/posts\/32873","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/comments?post=32873"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/32873\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media\/24642"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media?parent=32873"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/categories?post=32873"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/tags?post=32873"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}