{"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\/da\/blog\/administrirovanie\/izuchaem-docker-chast-6-rabota-s-dannymi","title":{"rendered":"L\u00e6r Docker, del 6: arbejde med data","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>I dagens del af overs\u00e6ttelsen af serien om Docker vil vi tale om arbejde med data. Is\u00e6r om Docker-volumener. I disse materialer har vi l\u00f8bende sammenlignet Docker's softwaremekanismer med forskellige spiselige analogier. Lad os ikke afvige fra denne tradition her. Data i Docker kan betragtes som krydderier. Der findes mange typer krydderier i verden, og i Docker er der mange m\u00e5der at arbejde med data p\u00e5.<\/p>\n<p>\u2192 <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/post\/438796\/\">Del 1: grundl\u00e6ggende<\/a><\/noindex><br \/>\n\u2192 <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/post\/439978\/\">Del 2: termer og koncepter<\/a><\/noindex><br \/>\n\u2192 <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/post\/439980\/\">Del 3: Dockerfile-filer<\/a><\/noindex><br \/>\n\u2192 <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/post\/440658\/\">Del 4: reduktion af billedst\u00f8rrelser og hastighed af opbygning<\/a><\/noindex><br \/>\n\u2192 <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/post\/440660\/\">Del 5: kommandoer<\/a><\/noindex><br \/>\n\u2192 <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/post\/441574\/\">Del 6: arbejde med data<\/a><\/noindex><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ruvds\/blog\/441574\/\"><img decoding=\"async\" alt=\"L\u00e6r Docker, del 6: arbejde med data\" 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 \/>\nBem\u00e6rk, at dette materiale er forberedt ved hj\u00e6lp af Docker-motorversion 18.09.1 og API-version <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.docker.com\/engine\/api\/version-history\/\">1.39<\/a><\/noindex>.<\/p>\n<p>Data i Docker kan gemmes midlertidigt eller permanent. Lad os starte med midlertidige data.<\/p>\n<h2>Midlertidig opbevaring af data<\/h2>\n<p>\nI Docker-containere kan arbejdet med midlertidige data organiseres p\u00e5 to m\u00e5der.<\/p>\n<p>Som standard gemmes filer, der oprettes af applikationen i containeren, i lag-containeren, der underst\u00f8tter skrivning. For at denne mekanisme fungerer, beh\u00f8ver man ikke at konfigurere noget specielt. Det fleste er billigt og ukompliceret. Applikationen skal blot gemme data og forts\u00e6tte med sine opgaver. Men n\u00e5r containeren oph\u00f8rer med at eksistere, vil de data, som er gemt p\u00e5 denne enkle m\u00e5de, ogs\u00e5 forsvinde.<\/p>\n<p>For lagring af midlertidige filer i Docker kan man ogs\u00e5 bruge en anden l\u00f8sning, der er velegnet til de tilf\u00e6lde, hvor der kr\u00e6ves et h\u00f8jere pr\u00e6stationsniveau sammenlignet med det, der kan opn\u00e5s med den standard metode til midlertidig datalagring. Hvis du ikke har brug for, at dine data opbevares l\u00e6ngere end containerens eksistens, kan du tilslutte tmpfs til containeren \u2014 et midlertidigt datalager, der bruger v\u00e6rtens RAM. Dette vil fremskynde skrive- og l\u00e6seoperationer.<\/p>\n<p>Det er ofte s\u00e5dan, at data skal gemmes, selv efter at containeren er oph\u00f8rt med at eksistere. Til dette form\u00e5l vil vi f\u00e5 brug for mekanismer til permanent datalagring.<\/p>\n<h2>Permanent datalagring<\/h2>\n<p>\nDer er to m\u00e5der at forl\u00e6nge dataenes levetid l\u00e6ngere end containerens levetid. En metode involverer brugen af bind mount-teknologi. Med denne tilgang kan man montere en faktisk eksisterende mappe til containeren. Processer uden for Docker vil kunne arbejde med data, der opbevares i en s\u00e5dan mappe. S\u00e5dan <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.docker.com\/storage\/volumes\/\">ser det ud<\/a><\/noindex> montering af tmpfs og bind mount-teknologi.<\/p>\n<p><img decoding=\"async\" alt=\"L\u00e6r Docker, del 6: arbejde med data\" src=\"\/wp-content\/uploads\/2019\/05\/73b9b7fd59b1321edb9f58953285d8d5.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Montering af tmpfs og bind mount<\/i><\/p>\n<p>Ulemperne ved at bruge bind mount-teknologi indeb\u00e6rer, at dens anvendelse komplicerer sikkerhedskopiering af data, dataflytning, og deling af data mellem flere containere. Det er meget bedre at bruge Docker-volumener til permanent datalagring.<\/p>\n<h2>Docker-volumener<\/h2>\n<p>\nEt volumen er et filsystem, der ligger p\u00e5 v\u00e6rtsmaskinen uden for containerne. Docker st\u00e5r for oprettelse og administration af volumener. Her er de vigtigste egenskaber ved Docker-volumener:<\/p>\n<ul>\n<li>De fungerer som v\u00e6rkt\u00f8jer til permanent lagring af information.<\/li>\n<li>De er autonome og adskilt fra containerne.<\/li>\n<li>De kan deles af forskellige containere.<\/li>\n<li>De muligg\u00f8r effektiv l\u00e6sning og skrivning af data.<\/li>\n<li>Volumener kan placeres p\u00e5 ressourcer fra en ekstern cloud-udbyder.<\/li>\n<li>De kan krypteres.<\/li>\n<li>De kan navngives.<\/li>\n<li>En container kan forberede et volumen med data p\u00e5 forh\u00e5nd.<\/li>\n<li>De er praktiske til testning.<\/li>\n<\/ul>\n<p>\nSom du kan se, har Docker-volumener fremragende egenskaber. Lad os tale om, hvordan man opretter dem.<\/p>\n<h2>Oprettelse af volumener<\/h2>\n<p>\nVolumener kan oprettes ved hj\u00e6lp af Docker-v\u00e6rkt\u00f8jer eller ved API-anmodninger.<\/p>\n<p>Her er en instruktion i Dockerfile, der tillader oprettelse af et volumen, n\u00e5r containeren startes.<\/p>\n<pre><code class=\"plaintext\">VOLUME \/my_volume<\/code><\/pre>\n<p>\nN\u00e5r du bruger en s\u00e5dan instruktion i Docker, vil den efter oprettelsen af containeren generere et volumen, der indeholder de data, der allerede er til stede p\u00e5 det angivne sted. V\u00e6r opm\u00e6rksom p\u00e5, at hvis du opretter et volumen ved hj\u00e6lp af Dockerfile, frig\u00f8r det ikke dig fra at angive monteringspunktet for volumenet.<\/p>\n<p>Du kan ogs\u00e5 oprette volumener i Dockerfile ved at bruge JSON-format.<\/p>\n<p>Derudover kan volumener oprettes fra kommandolinjen under containerens k\u00f8rsel.<\/p>\n<h2>Arbejder med volumener fra kommandolinjen<\/h2>\n<p><\/p>\n<h3>\u258dOprettelse af et volumen<\/h3>\n<p>\nDu kan oprette et selvst\u00e6ndigt volumen med f\u00f8lgende kommando:<\/p>\n<pre><code class=\"plaintext\">docker volume create --name my_volume<\/code><\/pre>\n<p><\/p>\n<h3>\u258dFind oplysninger om volumener<\/h3>\n<p>\nFor at se listen over Docker-volumener, brug f\u00f8lgende kommando:<\/p>\n<pre><code class=\"plaintext\">docker volume ls<\/code><\/pre>\n<p>\nDu kan unders\u00f8ge et specifikt volumene s\u00e5dan:<\/p>\n<pre><code class=\"plaintext\">docker volume inspect my_volume<\/code><\/pre>\n<p><\/p>\n<h3>\u258dSletning af volumener<\/h3>\n<p>\nDu kan slette et volumen s\u00e5dan:<\/p>\n<pre><code class=\"plaintext\">docker volume rm my_volume<\/code><\/pre>\n<p>\nFor at slette alle volumener, som ikke bruges af containere, kan du bruge f\u00f8lgende kommando:<\/p>\n<pre><code class=\"plaintext\">docker volume prune<\/code><\/pre>\n<p>\nF\u00f8r du sletter volumener, vil Docker anmode om din bekr\u00e6ftelse til at udf\u00f8re denne handling.<\/p>\n<p>Hvis et volumen er knyttet til en container, kan det volumen ikke slettes, f\u00f8r den tilh\u00f8rende container er slettet. Og selvom containeren er slettet, forst\u00e5r Docker ikke altid dette. Hvis dette sker - kan du anvende f\u00f8lgende kommando:<\/p>\n<pre><code class=\"plaintext\">docker system prune<\/code><\/pre>\n<p>\nDen er beregnet til at rydde op i Docker-ressourcer. Efter at have k\u00f8rt denne kommando, skulle du kunne slette volumener, hvis status tidligere var blevet identificeret forkert.<\/p>\n<h2>Flagene \u2014mount og \u2014volume<\/h2>\n<p>\nN\u00e5r du arbejder med volumener, skal du ofte bruge flagene, n\u00e5r du kalder kommandoen <code>docker<\/code>, for eksempel for at oprette et volumen under oprettelsen af en container, kan du bruge denne konstruktion:<\/p>\n<pre><code class=\"plaintext\">docker container run --mount source=my_volume, target=\/container\/path\/for\/volume my_image<\/code><\/pre>\n<p>\nI gamle dage (f\u00f8r 2017) var flaget <code>--volume<\/code>. Oprindeligt blev dette flag (det kan ogs\u00e5 bruges i forkortet form, s\u00e5 det ser ud som <code>-v<\/code>) anvendt til selvst\u00e6ndige containere, mens flaget <code>--mount<\/code> \u2014 blev brugt i Docker Swarm-milj\u00f8et. Men fra Docker 17.06 kan flaget <code>--mount<\/code> bruges i alle scenarier.<\/p>\n<p>Der skal bem\u00e6rkes, at n\u00e5r du bruger flaget, \u00f8ges m\u00e6ngden af ekstra data, der skal angives i kommandoen, men af flere grunde er det bedre at bruge netop dette flag og ikke <code>--mount<\/code> . Flaget <code>--volume<\/code>\u2014 er den eneste mekanisme, der g\u00f8r det muligt at arbejde med tjenester eller angive oplysninger om volumenets driver. Desuden er det nemmere at arbejde med dette flag. <code>--mount<\/code> I de eksisterende kommandoeksempler rettet mod databehandling i Docker, kan du finde mange eksempler p\u00e5 brug af flaget<\/p>\n<p>. N\u00e5r du fors\u00f8ger at tilpasse disse kommandoer til dig selv, skal du huske, at flagene <code>-v<\/code>bruger forskellige formater for parametre. Det vil sige, at du ikke blot kan erstatte <code>--mount<\/code> og <code>--volume<\/code> med <code>-v<\/code> og f\u00e5 en fungerende kommando. <code>--mount<\/code> Den vigtigste forskel mellem<\/p>\n<p>er, at n\u00e5r du bruger flaget <code>--mount<\/code> og <code>--volume<\/code> er der variationer i de tilladte parametre. <code>--volume<\/code> alle parametre samles i et felt, og ved brug <code>--mount<\/code> adskilles parametre.<\/p>\n<p>N\u00e5r man arbejder med <code>--mount<\/code> er parametre pr\u00e6senteret som n\u00f8gle-v\u00e6rdi par, som ser s\u00e5dan ud <code>n\u00f8gle=v\u00e6rdi<\/code>. Disse par adskilles med kommaer. Her er ofte brugte parametre <code>--mount<\/code>:<\/p>\n<ul>\n<li><code>type<\/code> \u2014 monterings type. V\u00e6rdien for den tilsvarende n\u00f8gle kan v\u00e6re <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> eller <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.docker.com\/storage\/tmpfs\/\">tmpfs<\/a><\/noindex>. Vi taler her om volumener, det vil sige \u2014 vi er interesserede i v\u00e6rdien <code>volume<\/code>.<\/li>\n<li><code>source<\/code> \u2014 monteringskilden. For navngivne volumener er det \u2014 navnet p\u00e5 volumet. For ikke-navngivne volumener angives denne n\u00f8gle ikke. Den kan forkortes til <code>src<\/code>.<\/li>\n<li><code>destination<\/code> \u2014 stien, hvor filen eller mappen monteres i containeren. Denne n\u00f8gle kan forkortes til <code>dst<\/code> eller <code>target<\/code>.<\/li>\n<li><code>readonly<\/code> \u2014 monterer et volumen, der er beregnet <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.docker.com\/storage\/volumes\/#use-a-read-only-volume\">kun til l\u00e6sning<\/a><\/noindex>. Det er ikke obligatorisk at bruge denne n\u00f8gle, og der tildeles ikke v\u00e6rdi til den.<\/li>\n<\/ul>\n<p>\nHer er et eksempel p\u00e5 brug <code>--mount<\/code> med mange 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>Resum\u00e9<\/h2>\n<p>\nHer er nogle nyttige kommandoer, som man kan bruge, n\u00e5r man arbejder med Docker-volumener:<\/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>\nHer er listen over ofte brugte parametre til <code>--mount<\/code>, anvendelige i kommandoen af typen <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>\nNu hvor vi har afsluttet denne serie af materialer om Docker, er det tid til at sige et par ord om, hvor man kan g\u00e5 videre for dem, der studerer Docker. <noindex><a rel=\"nofollow\" href=\"https:\/\/medium.freecodecamp.org\/a-beginner-friendly-introduction-to-containers-vms-and-docker-79a9e3e119b\">Her er<\/a><\/noindex> en stor god artikel om Docker. <noindex><a rel=\"nofollow\" href=\"https:\/\/www.amazon.com\/Docker-Deep-Dive-Nigel-Poulton-ebook\/dp\/B01LXWQUFF\">Her er<\/a><\/noindex> en bog om Docker (n\u00e5r du k\u00f8ber denne bog, s\u00e5 pr\u00f8v at f\u00e5 den nyeste udgave). <noindex><a rel=\"nofollow\" href=\"https:\/\/dockerbook.com\/\">Her er<\/a><\/noindex> endnu en bog, som vil v\u00e6re passende for dem, der mener, at praksis er den bedste m\u00e5de at l\u00e6re teknologier p\u00e5.<\/p>\n<p><b>K\u00e6re l\u00e6sere!<\/b> Hvilke materialer om Docker ville du anbefale nybegyndere at studere?<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/ruvds.com\/ru-rub\/#order\"><img decoding=\"async\" alt=\"L\u00e6r Docker, del 6: arbejde med data\" src=\"\/wp-content\/uploads\/2019\/05\/78a5dd35cfae6d1e291f175957207436.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><br \/>\n<br \/>Kilde: <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.3 - 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\/da\/blog\/administrirovanie\/izuchaem-docker-chast-6-rabota-s-dannymi\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"da_DK\" \/>\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\/da\/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\udd47L\u00e6r Docker, del 6: arbejde med data | ProHoster","description":"I denne del af overs\u00e6ttelsen af serien om Docker vil vi tale om arbejdet med data. Specifikt \u2014 om Docker volumener.","canonical_url":"https:\/\/prohoster.info\/da\/blog\/administrirovanie\/izuchaem-docker-chast-6-rabota-s-dannymi","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"da_DK","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\/da\/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\/da\/wp-json\/wp\/v2\/posts\/32873","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/comments?post=32873"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts\/32873\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media\/24642"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media?parent=32873"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/categories?post=32873"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/tags?post=32873"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}