{"id":36772,"date":"2019-10-31T22:13:44","date_gmt":"2019-10-31T19:13:44","guid":{"rendered":"https:\/\/prohoster.info\/blog\/ponimaya-docker\/"},"modified":"2019-10-31T22:13:44","modified_gmt":"2019-10-31T19:13:44","slug":"ponimaya-docker","status":"publish","type":"post","link":"https:\/\/prohoster.info\/nl\/blog\/administrirovanie\/ponimaya-docker","title":{"rendered":"Docker begrijpen","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><i>Al enkele maanden gebruik ik Docker om het proces van ontwikkeling en levering van webprojecten te structureren. Ik bied de lezers van 'Habrahabr' de vertaling van een inleidend artikel over Docker aan \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.docker.com\/introduction\/understanding-docker\/\">\u2018Understanding Docker\u2019<\/a><\/noindex>.<\/i><\/p>\n<h3>Wat is Docker?<\/h3>\n<p>\nDocker is een open platform voor de ontwikkeling, levering en uitrol van toepassingen. Docker is ontworpen voor het sneller implementeren van uw toepassingen. Met Docker kunt u uw toepassing scheiden van uw infrastructuur en de infrastructuur behandelen als een beheerde toepassing. Docker helpt u uw code sneller uit te rollen, sneller te testen, sneller toepassingen uit te rollen en de tijd tussen het schrijven en het uitvoeren van de code te verkorten. Docker doet dit met behulp van een lichtgewicht containervirtualisatieplatform, met processen en hulpmiddelen die helpen bij het beheren en uitrollen van uw toepassingen.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nIn wezen stelt Docker u in staat om vrijwel elke toepassing veilig te isoleren binnen een container. Veilige isolatie maakt het mogelijk om meerdere containers tegelijk op \u00e9\u00e9n host te draaien. De lichte aard van de container, die zonder extra belasting van een hypervisor draait, stelt u in staat om meer uit uw hardware te halen.<\/p>\n<p>Het platform en de middelen voor containervirtualisatie kunnen nuttig zijn in de volgende gevallen:<\/p>\n<ul>\n<li>het verpakken van uw toepassing (en de gebruikte componenten) in Docker-containers;<\/li>\n<li>het verspreiden en leveren van deze containers aan uw teams voor ontwikkeling en testing;<\/li>\n<li>het uitrollen van deze containers naar uw producties, zowel in datacenters als in de cloud.<\/li>\n<\/ul>\n<p><\/p>\n<h3>Waarvoor kan ik Docker gebruiken?<\/h3>\n<p><\/p>\n<h4>Snelle uitrol van uw toepassingen<\/h4>\n<p>\nDocker is perfect voor het organiseren van de ontwikkelingscyclus. Docker stelt ontwikkelaars in staat om lokale containers met toepassingen en diensten te gebruiken. Dit maakt later integratie mogelijk met het proces van continue integratie en uitrol (continuous integration and deployment workflow).<\/p>\n<p>Bijvoorbeeld, uw ontwikkelaars schrijven code lokaal en delen hun ontwikkelstack (verzameling van Docker-images) met collega's. Wanneer ze klaar zijn, sturen ze de code en containers naar de testomgeving en voeren ze de benodigde tests uit. Vanaf de testomgeving kunnen ze de code en images naar de productieomgeving sturen.<\/p>\n<h4>Eenvoudigere uitrol en implementatie<\/h4>\n<p>\nHet op containers gebaseerde Docker-platform maakt het gemakkelijk om uw lading te verplaatsen. Docker-containers kunnen zowel op uw lokale machine, zowel fysiek als virtueel in een datacenter, als in de cloud draaien.<\/p>\n<p>De draagbaarheid en het lichte karakter van Docker maken het eenvoudig om uw lading dynamisch te beheren. U kunt Docker gebruiken om uw applicatie of services te implementeren of te be\u00ebindigen. De snelheid van Docker maakt dit bijna in real-time mogelijk.<\/p>\n<h4>Hoge belasting en meer ladingen<\/h4>\n<p>\nDocker is lichtgewicht en snel. Het biedt een duurzame, kosteneffectieve vervanging voor virtuele machines op basis van hypervisors. Het is bijzonder nuttig in omgevingen met hoge belasting, bijvoorbeeld bij het opzetten van een eigen cloud of platform-as-a-service. Maar het is ook nuttig voor kleine en middelgrote applicaties, wanneer u meer wilt halen uit de beschikbare middelen.<\/p>\n<h3>Belangrijkste componenten van Docker<\/h3>\n<p>\nDocker bestaat uit twee hoofdcomponenten:<\/p>\n<ul>\n<li>Docker: een open-source virtualisatieplatform;<\/li>\n<li>Docker Hub: ons platform-as-a-service voor het distribueren en beheren van Docker-containers.<\/li>\n<\/ul>\n<p>\n<i>Opmerking! Docker wordt verspreid onder de Apache 2.0-licentie.<\/i><\/p>\n<h3>Architectuur van Docker<\/h3>\n<p><\/p>\n<p>Docker maakt gebruik van een client-serverarchitectuur. De Docker-client communiceert met de Docker-daemon, die de verantwoordelijkheid draagt voor het cre\u00ebren, draaien en verdelen van uw containers. Zowel client als server kunnen op hetzelfde systeem draaien; u kunt de client ook verbinden met een externe Docker-daemon. Client en server communiceren via een socket of een RESTful API.<\/p>\n<p><img decoding=\"async\" alt=\"Docker begrijpen\" src=\"\/wp-content\/uploads\/2019\/08\/eb67e625e776737163e49a41829ed102.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h4>Docker-daemon<\/h4>\n<p>\nZoals weergegeven in het diagram, draait de daemon op de hostmachine. De gebruiker communiceert niet rechtstreeks met de server, maar maakt daarvoor gebruik van de client.<\/p>\n<h4>Docker-client<\/h4>\n<p>\nDe Docker-client, het Docker-programma, is de belangrijkste interface naar Docker. Het ontvangt opdrachten van de gebruiker en communiceert met de Docker-daemon.<\/p>\n<h4>Binnen Docker<\/h4>\n<p>\nOm te begrijpen waaruit Docker bestaat, moet u weten over drie componenten:<\/p>\n<ul>\n<li>images<\/li>\n<li>registries<\/li>\n<li>containers<\/li>\n<\/ul>\n<h4>Afbeeldingen<\/h4>\n<p>\nEen Docker-image is een read-only sjabloon. Bijvoorbeeld, een image kan de Ubuntu-omgeving met Apache en een toepassing daarop bevatten. Images worden gebruikt voor het cre\u00ebren van containers. Docker maakt het eenvoudig om nieuwe images te maken, bestaande te updaten, of je kunt images downloaden die door anderen zijn gemaakt. Images vormen een onderdeel van de Docker-assemblage.<\/p>\n<h4>Registratie<\/h4>\n<p>\nDe Docker-register slaat images op. Er zijn publieke en private registers waaruit je images kunt downloaden of uploaden. Het publieke Docker-register is <noindex><a rel=\"nofollow\" href=\"http:\/\/hub.docker.com\/\">Docker Hub<\/a><\/noindex>. Hier wordt een enorme collectie images opgeslagen. Zoals je weet, kunnen images door jou zijn gemaakt of je kunt images gebruiken die door anderen zijn gemaakt. Registers zijn een onderdeel van de distributie.<\/p>\n<h4>Containers<\/h4>\n<p>\nContainers lijken op directories. In containers staat alles wat nodig is voor de werking van de toepassing. Elke container wordt gemaakt uit een image. Containers kunnen worden gemaakt, gestart, gestopt, verplaatst of verwijderd. Elke container is ge\u00efsoleerd en vormt een veilige omgeving voor de toepassing. Containers zijn een onderdeel van de werking.<\/p>\n<h4>Hoe werkt Docker?<\/h4>\n<p>\nWat we al weten, is dat:<\/p>\n<ul>\n<li>we images kunnen maken waarin onze toepassingen zijn opgenomen;<\/li>\n<li>we containers kunnen cre\u00ebren uit images om toepassingen uit te voeren;<\/li>\n<li>we images kunnen distribueren via Docker Hub of een ander image-register.<\/li>\n<\/ul>\n<p>\nLaten we kijken hoe deze componenten samenkomen.<\/p>\n<h4>Hoe werkt een image?<\/h4>\n<p>\nWe weten al dat een image een read-only sjabloon is waaruit een container wordt gemaakt. Elke image bestaat uit een set niveaus. Docker gebruikt <noindex><a rel=\"nofollow\" href=\"http:\/\/en.wikipedia.org\/wiki\/UnionFS\">de union file system<\/a><\/noindex> om deze niveaus te combineren tot \u00e9\u00e9n image. De union file system laat bestanden en directories uit verschillende file systems (verschillende takken) transparant overlappen, waardoor een coherente file system ontstaat.<\/p>\n<p>Een van de redenen waarom Docker lichtgewicht is, is het gebruik van dergelijke niveaus. Wanneer je een image wijzigt, bijvoorbeeld door een toepassing bij te werken, wordt er een nieuw niveau aangemaakt. Zo, zonder de gehele image te vervangen of opnieuw te bouwen, zoals je mogelijk zou moeten doen met een virtuele machine, wordt alleen het niveau toegevoegd of ge\u00fcpdatet. En je hoeft niet de hele nieuwe image te verspreiden, alleen de update wordt verspreid, wat het gemakkelijker en sneller maakt om images te distribueren.<\/p>\n<p>Elke afbeelding is gebaseerd op een basisafbeelding. Bijvoorbeeld, ubuntu, de basisafbeelding van Ubuntu, of fedora, de basisafbeelding van de Fedora-distributie. U kunt ook afbeeldingen gebruiken als basis voor het cre\u00ebren van nieuwe afbeeldingen. Bijvoorbeeld, als u een afbeelding van apache heeft, kunt u deze gebruiken als basisafbeelding voor uw webapplicaties.<\/p>\n<p><i>Opmerking! Docker haalt meestal afbeeldingen van de Docker Hub-register.<\/i><\/p>\n<p>Docker-afbeeldingen kunnen worden gemaakt uit deze basisafbeeldingen; de stappen voor het maken van deze afbeeldingen noemen we instructies. Elke instructie cre\u00ebert een nieuwe afbeelding of laag. De instructies zijn de volgende acties:<\/p>\n<p><\/p>\n<ul>\n<li>een opdracht uitvoeren<\/li>\n<li>een bestand of directory toevoegen<\/li>\n<li>een omgevingsvariabele aanmaken<\/li>\n<li>aanwijzingen geven over wat te starten wanneer de container van deze afbeelding wordt gestart<\/li>\n<\/ul>\n<p>Deze instructies worden opgeslagen in een bestand <code>Dockerfile<\/code>. Docker leest dit <code>Dockerfile<\/code>, wanneer u de afbeelding bouwt, voert deze instructies uit en retourneert de eindafbeelding.<\/p>\n<h4>Hoe werkt het Docker-register?<\/h4>\n<p>\nEen register is een opslagplaats voor Docker-afbeeldingen. Na het maken van een afbeelding kunt u deze publiceren op de openbare Docker Hub-register of op uw persoonlijke register.<\/p>\n<p>Met de Docker-client kunt u al gepubliceerde afbeeldingen zoeken en deze naar uw machine met Docker downloaden om containers te cre\u00ebren.<\/p>\n<p>Docker Hub biedt openbare en priv\u00e9-opslagplaatsen voor afbeeldingen. Zoeken en downloaden van afbeeldingen uit openbare opslagplaatsen is beschikbaar voor iedereen. De inhoud van priv\u00e9-opslagplaatsen komt niet in de zoekresultaten. Alleen u en uw gebruikers kunnen deze afbeeldingen ontvangen en containers uit hen maken.<\/p>\n<h4>Hoe werkt een container?<\/h4>\n<p>\nEen container bestaat uit een besturingssysteem, gebruikersbestanden en metadata. Zoals we weten, wordt elke container gemaakt uit een afbeelding. Deze afbeelding vertelt Docker wat zich in de container bevindt, welk proces moet worden uitgevoerd wanneer de container wordt gestart en andere configuratiegegevens. Docker-afbeelding is alleen-lezen. Wanneer Docker een container start, cre\u00ebert het een schrijfbare laag bovenop de afbeelding (met behulp van een union file system, zoals eerder aangegeven), waarin de applicatie kan draaien.<\/p>\n<h4>Wat gebeurt er wanneer een container wordt gestart?<\/h4>\n<p>\nOf via een programma <code>docker<\/code>, of via de RESTful API, vertelt de Docker-client de Docker-daemon om de container te starten.<\/p>\n<p><code>$ sudo docker run -i -t ubuntu \/bin\/bash<br \/>\n<\/code><br \/>\nLaten we deze opdracht eens bekijken. De client wordt gestart met de opdracht <code>docker<\/code>, met de optie <code>(hetzelfde proces als<\/code>, die aangeeft dat er een nieuwe container zal worden gestart. De minimale vereisten voor het starten van een container zijn de volgende attributen:<\/p>\n<ul>\n<li>welk beeld te gebruiken voor het maken van de container. In ons geval <code>ubuntu<\/code><\/li>\n<li>de opdracht die u wilt uitvoeren wanneer de container wordt gestart. In ons geval <code>\/bin\/bash<\/code><\/li>\n<\/ul>\n<p>Wat gebeurt er eigenlijk onder de motorkap wanneer we deze opdracht uitvoeren?<\/p>\n<p>Docker doet het volgende:<\/p>\n<ul>\n<li><b>downloadt het beeld ubuntu:<\/b> docker controleert of het beeld <code>ubuntu<\/code> op de lokale machine aanwezig is, en als dat niet het geval is, downloadt het het van <noindex><a rel=\"nofollow\" href=\"https:\/\/hub.docker.com\/\">Docker Hub<\/a><\/noindex>. Als het beeld er al is, wordt het gebruikt om de container te maken;<\/li>\n<li><b>maakt de container:<\/b> wanneer het beeld is verkregen, gebruikt docker het om de container te maken;<\/li>\n<li><b>initialiseert het bestandssysteem en monteert het read-only niveau:<\/b> de container is gemaakt in het bestandssysteem en het read-only niveau is toegevoegd aan het beeld;<\/li>\n<li><b>initialiseert het netwerk\/brug:<\/b> maakt een netwerkinterface die docker in staat stelt om met de hostmachine te communiceren;<\/li>\n<li><b>Stelt het IP-adres in:<\/b> ziet het adres en stelt het in;<\/li>\n<li><b>Start het opgegeven proces:<\/b> start uw applicatie;<\/li>\n<li><b>Verwerkt en geeft de uitvoer van uw applicatie weer:<\/b> verbinding maken en standaardinvoer, -uitvoer en foutstroom van uw applicatie loggen, zodat u kunt volgen hoe uw applicatie werkt.<\/li>\n<\/ul>\n<p>\nNu heeft u een werkende container. U kunt uw container beheren en interactie hebben met uw applicatie. Wanneer u besluit de applicatie te stoppen, verwijdert u de container.<\/p>\n<h3>Gebruikte technologie\u00ebn<\/h3>\n<p>\nDocker is geschreven in Go en maakt gebruik van enkele mogelijkheden van de Linux-kernel om de hierboven beschreven functionaliteit te realiseren.<\/p>\n<h4>Namespaces<\/h4>\n<p>\nDocker gebruikt de technologie <code>namespaces<\/code> om ge\u00efsoleerde werkruimten te organiseren, die we containers noemen. Wanneer we een container starten, maakt docker een set namespaces voor deze container aan.<\/p>\n<p>Dit cre\u00ebert een ge\u00efsoleerd niveau, elk aspect van de container draait in zijn eigen namespace en heeft geen toegang tot het externe systeem.<\/p>\n<p>Een lijst van enkele namespaces die docker gebruikt:<\/p>\n<ul>\n<li><b>pid:<\/b> voor procesisolatie;<\/li>\n<li><b>net:<\/b> voor het beheren van netwerkinterfaces;<\/li>\n<li><b>ipc:<\/b> voor het beheren van IPC-bronnen. (IPC: InterProcess Communication);<\/li>\n<li><b>mnt:<\/b> voor het beheren van mount-punten;<\/li>\n<li><b>utc:<\/b> voor het isoleren van de kernel en versiegeneratiecontrole (UTC: Unix Time Sharing System).<\/li>\n<\/ul>\n<h4>Control groups<\/h4>\n<p>\nDocker gebruikt ook de technologie <code>cgroups<\/code> of controle groepen. De sleutel tot het functioneren van de applicatie in isolatie is het bieden van alleen die middelen aan de applicatie die u wilt bieden. Dit garandeert dat de containers goede buren zullen zijn. Controle groepen maken het mogelijk om beschikbare hardwarebronnen te scheiden en indien nodig limieten en restricties in te stellen. Bijvoorbeeld, het beperken van de mogelijk beschikbare hoeveelheid geheugen voor een container.<\/p>\n<h4>Union File System<\/h4>\n<p>\nUnion File System of UnionFS is een bestandssysteem dat werkt door lagen te cre\u00ebren, waardoor het zeer lichtgewicht en snel is. Docker gebruikt UnionFS om blokken te cre\u00ebren waaruit de container wordt opgebouwd. Docker kan verschillende versies van UnionFS gebruiken, waaronder: AUFS, btrfs, vfs en DeviceMapper.<\/p>\n<h4>Containerformaten<\/h4>\n<p>\nDocker combineert deze componenten in een omhulsel dat we het containerformaat noemen. Het standaardformaat wordt aangeduid als <code>libcontainer<\/code>. Daarnaast ondersteunt Docker het traditionele containerformaat in Linux met behulp van <noindex><a rel=\"nofollow\" href=\"http:\/\/linuxcontainers.org\">LXC<\/a><\/noindex>. In de toekomst zou Docker mogelijk andere containerformaten kunnen ondersteunen, bijvoorbeeld door integratie met BSD Jails of Solaris Zones.<br \/>\n<br \/>Bron: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/253877\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0423\u0436\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e docker \u0434\u043b\u044f \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0438\u0437\u0430\u0446\u0438\u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438\/\u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0438 \u0432\u0435\u0431-\u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432. \u041f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u044f\u043c \u00ab\u0425\u0430\u0431\u0440\u0430\u0445\u0430\u0431\u0440\u0430\u00bb \u043f\u0435\u0440\u0435\u0432\u043e\u0434 \u0432\u0432\u043e\u0434\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 \u043e docker \u2014 \u00abUnderstanding docker\u00bb. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u0434\u043e\u043a\u0435\u0440? \u0414\u043e\u043a\u0435\u0440 \u2014 \u044d\u0442\u043e \u043e\u0442\u043a\u0440\u044b\u0442\u0430\u044f \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438, \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0438 \u0438 \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439. Docker \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043d \u0434\u043b\u044f \u0431\u043e\u043b\u0435\u0435 \u0431\u044b\u0441\u0442\u0440\u043e\u0433\u043e \u0432\u044b\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u043d\u0438\u044f \u0432\u0430\u0448\u0438\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439. \u0421 \u043f\u043e\u043c\u043e\u0449\u044c\u044e docker \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043e\u0442\u0434\u0435\u043b\u0438\u0442\u044c \u0432\u0430\u0448\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043e\u0442 \u0432\u0430\u0448\u0435\u0439 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u0438 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-36772","post","type-post","status-publish","format-standard","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=\"\u0423\u0436\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e docker \u0434\u043b\u044f \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0438\u0437\u0430\u0446\u0438\u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438\/\u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0438 \u0432\u0435\u0431-\u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432.\" \/>\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\/nl\/blog\/administrirovanie\/ponimaya-docker\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"nl_NL\" \/>\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\u041f\u043e\u043d\u0438\u043c\u0430\u044f Docker | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0423\u0436\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e docker \u0434\u043b\u044f \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0438\u0437\u0430\u0446\u0438\u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438\/\u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0438 \u0432\u0435\u0431-\u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/nl\/blog\/administrirovanie\/ponimaya-docker\" \/>\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-31T19:13:44+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:13:44+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\udd47Het begrijpen van Docker | ProHoster","description":"Ik gebruik Docker al enkele maanden om het proces van ontwikkeling en levering van webprojecten te structureren.","canonical_url":"https:\/\/prohoster.info\/nl\/blog\/administrirovanie\/ponimaya-docker","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"nl_NL","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\u041f\u043e\u043d\u0438\u043c\u0430\u044f Docker | ProHoster","og:description":"\u0423\u0436\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e docker \u0434\u043b\u044f \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0438\u0437\u0430\u0446\u0438\u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438\/\u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0438 \u0432\u0435\u0431-\u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432.","og:url":"https:\/\/prohoster.info\/nl\/blog\/administrirovanie\/ponimaya-docker","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-31T19:13:44+00:00","article:modified_time":"2019-10-31T19:13:44+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"36772","title":null,"description":null,"keywords":null,"keyphrases":null,"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-22 04:47:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:39:22","updated":"2026-01-22 04:47:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts\/36772","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/comments?post=36772"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts\/36772\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/media?parent=36772"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/categories?post=36772"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/tags?post=36772"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}