{"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\/de\/blog\/administrirovanie\/ponimaya-docker","title":{"rendered":"Docker verstehen","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><i>Ich benutze Docker seit mehreren Monaten zur Strukturierung des Entwicklungs- und Bereitstellungsprozesses f\u00fcr Webprojekte. Ich biete den Lesern von \u201eHabr\u201c eine \u00dcbersetzung des einf\u00fchrenden Artikels \u00fcber Docker an \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.docker.com\/introduction\/understanding-docker\/\">\u201eUnderstanding Docker\u201c<\/a><\/noindex>.<\/i><\/p>\n<h3>Was ist Docker?<\/h3>\n<p>\nDocker ist eine offene Plattform f\u00fcr die Entwicklung, Bereitstellung und Verwaltung von Anwendungen. Docker wurde entwickelt, um das Bereitstellen Ihrer Anwendungen zu beschleunigen. Mit Docker k\u00f6nnen Sie Ihre Anwendung von Ihrer Infrastruktur isolieren und die Infrastruktur wie eine verwaltete Anwendung behandeln. Docker hilft, Ihren Code schneller bereitzustellen, schneller zu testen und die Zeit zwischen dem Schreiben und dem Ausf\u00fchren von Code zu verk\u00fcrzen. Docker tut dies mit einer leichtgewichtigem Container-Virtualisierungsplattform, die Prozesse und Tools verwendet, die dabei helfen, Ihre Anwendungen zu verwalten und bereitzustellen.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nIm Kern erm\u00f6glicht Docker das Ausf\u00fchren nahezu jeder Anwendung, die sicher in einem Container isoliert ist. Diese sichere Isolation erm\u00f6glicht es Ihnen, auf einem Host mehrere Container gleichzeitig auszuf\u00fchren. Die Leichtgewichtigkeit des Containers, der ohne zus\u00e4tzliche Last eines Hypervisors ausgef\u00fchrt wird, erm\u00f6glicht es Ihnen, mehr aus Ihrer Hardware herauszuholen.<\/p>\n<p>Die Plattform und die Mittel zur Container-Virtualisierung k\u00f6nnen in folgenden F\u00e4llen n\u00fctzlich sein:<\/p>\n<ul>\n<li>Verpacken Ihrer Anwendung (und der verwendeten Komponenten) in Docker-Container;<\/li>\n<li>Vorbereitung und Bereitstellung dieser Container f\u00fcr Ihre Teams zur Entwicklung und zum Testen;<\/li>\n<li>Bereitstellung dieser Container in Ihrer Produktionsumgebung, sowohl in Rechenzentren als auch in der Cloud.<\/li>\n<\/ul>\n<p><\/p>\n<h3>Wof\u00fcr kann ich Docker nutzen?<\/h3>\n<p><\/p>\n<h4>Schnelle Bereitstellung Ihrer Anwendungen<\/h4>\n<p>\nDocker eignet sich hervorragend zur Organisation des Entwicklungszyklus. Docker erm\u00f6glicht Entwicklern die Verwendung lokaler Container mit Anwendungen und Diensten. Dies erleichtert die Integration in den kontinuierlichen Integrations- und Bereitstellungsprozess.<\/p>\n<p>Zum Beispiel schreiben Ihre Entwickler Code lokal und teilen ihren Entwicklungstack (eine Sammlung von Docker-Images) mit Kollegen. Wenn sie bereit sind, senden sie den Code und die Container auf die Testumgebung und f\u00fchren alle notwendigen Tests durch. Von der Testumgebung aus k\u00f6nnen sie den Code und die Images in die Produktion senden.<\/p>\n<h4>Einfachere Bereitstellung und Bereitstellung<\/h4>\n<p>\nDie auf Docker-Containern basierende Plattform erm\u00f6glicht es, Ihre Workloads einfach zu portieren. Docker-Container k\u00f6nnen sowohl auf Ihrer lokalen Maschine, sowohl auf realer als auch auf virtueller Maschine im Rechenzentrum als auch in der Cloud betrieben werden.<\/p>\n<p>Die Portabilit\u00e4t und die Leichtgewichtigkeit von Docker erm\u00f6glichen es, Ihre Workloads einfach dynamisch zu verwalten. Sie k\u00f6nnen Docker verwenden, um Ihre Anwendung oder Dienste bereitzustellen oder zu stoppen. Die Geschwindigkeit von Docker erm\u00f6glicht dies nahezu in Echtzeit.<\/p>\n<h4>Hohe Lasten und mehr Workloads<\/h4>\n<p>\nDocker ist leicht und schnell. Es bietet eine robuste, kosteng\u00fcnstige Alternative zu hypervisor-basierten virtuellen Maschinen. Besonders n\u00fctzlich ist es unter hohen Lasten, zum Beispiel beim Aufbau einer eigenen Cloud oder einer Platform-as-a-Service (PaaS). Es ist jedoch auch f\u00fcr kleine und mittlere Anwendungen hilfreich, wenn Sie mehr aus Ihren verf\u00fcgbaren Ressourcen herausholen m\u00f6chten.<\/p>\n<h3>Die Hauptkomponenten von Docker<\/h3>\n<p>\nDocker besteht aus zwei Hauptkomponenten:<\/p>\n<ul>\n<li>Docker: eine Open-Source-Virtualisierungsplattform;<\/li>\n<li>Docker Hub: unsere Platform-as-a-Service f\u00fcr die Verbreitung und Verwaltung von Docker-Containern.<\/li>\n<\/ul>\n<p>\n<i>Hinweis! Docker wird unter der Apache 2.0-Lizenz verbreitet.<\/i><\/p>\n<h3>Die Architektur von Docker<\/h3>\n<p><\/p>\n<p>Docker verwendet eine Client-Server-Architektur. Der Docker-Client kommuniziert mit dem Docker-Daemon, der sich um das Erstellen, Ausf\u00fchren und Verteilen Ihrer Container k\u00fcmmert. Sowohl der Client als auch der Server k\u00f6nnen auf demselben System laufen; Sie k\u00f6nnen den Client auch mit einem entfernten Docker-Daemon verbinden. Client und Server kommunizieren \u00fcber ein Socket oder \u00fcber eine RESTful API.<\/p>\n<p><img decoding=\"async\" alt=\"Docker verstehen\" src=\"\/wp-content\/uploads\/2019\/08\/eb67e625e776737163e49a41829ed102.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h4>Docker-Daemon<\/h4>\n<p>\nWie in der Abbildung dargestellt, wird der Daemon auf der Hostmaschine ausgef\u00fchrt. Der Benutzer interagiert nicht direkt mit dem Server, sondern verwendet daf\u00fcr den Client.<\/p>\n<h4>Docker-Client<\/h4>\n<p>\nDer Docker-Client, das Programm Docker, ist die Hauptschnittstelle zu Docker. Er erh\u00e4lt Befehle vom Benutzer und kommuniziert mit dem Docker-Daemon.<\/p>\n<h4>Innerhalb von Docker<\/h4>\n<p>\nUm zu verstehen, woraus Docker besteht, m\u00fcssen Sie \u00fcber drei Komponenten Bescheid wissen:<\/p>\n<ul>\n<li>Images (Abbilder)<\/li>\n<li>Registries (Registry)<\/li>\n<li>. Ein Container ist eine M\u00f6glichkeit, die Anwendung zu verpacken, um sie von der Umgebung zu isolieren.<\/li>\n<\/ul>\n<h4>Images<\/h4>\n<p>\nEin Docker-Image ist eine read-only Vorlage. Zum Beispiel kann das Image ein Ubuntu-Betriebssystem mit Apache und einer darauf laufenden Anwendung enthalten. Images werden verwendet, um Container zu erstellen. Docker erm\u00f6glicht es, leicht neue Images zu erstellen, bestehende zu aktualisieren, oder Sie k\u00f6nnen Images herunterladen, die von anderen erstellt wurden. Images sind ein Baustein des Docker-Systems.<\/p>\n<h4>Registry<\/h4>\n<p>\nDas Docker-Registry speichert Images. Es gibt \u00f6ffentliche und private Registries, aus denen Sie Images herunterladen oder hochladen k\u00f6nnen. Die \u00f6ffentliche Docker-Registry ist <noindex><a rel=\"nofollow\" href=\"http:\/\/hub.docker.com\/\">Docker Hub<\/a><\/noindex>. Dort befindet sich eine riesige Sammlung von Images. Wie Sie wissen, k\u00f6nnen Images von Ihnen erstellt werden oder Sie k\u00f6nnen Images verwenden, die von anderen erstellt wurden. Registries sind ein Baustein der Verbreitung.<\/p>\n<h4>Container<\/h4>\n<p>\nContainer \u00e4hneln Verzeichnissen. In Containern befindet sich alles, was f\u00fcr den Betrieb einer Anwendung erforderlich ist. Jeder Container wird aus einem Image erstellt. Container k\u00f6nnen erstellt, gestartet, angehalten, verschoben oder gel\u00f6scht werden. Jeder Container ist isoliert und stellt eine sichere Plattform f\u00fcr die Anwendung dar. Container sind ein Baustein des Betriebs.<\/p>\n<h4>Wie funktioniert Docker?<\/h4>\n<p>\nBis jetzt wissen wir, dass:<\/p>\n<ul>\n<li>wir Images erstellen k\u00f6nnen, die unsere Anwendungen enthalten;<\/li>\n<li>wir Container aus Images erstellen k\u00f6nnen, um Anwendungen auszuf\u00fchren;<\/li>\n<li>wir Images \u00fcber Docker Hub oder ein anderes Image-Registry verbreiten k\u00f6nnen.<\/li>\n<\/ul>\n<p>\nSchauen wir uns an, wie diese Bausteine zusammenpassen.<\/p>\n<h4>Wie funktioniert ein Image?<\/h4>\n<p>\nWir wissen bereits, dass ein Image eine read-only Vorlage ist, aus der ein Container erstellt wird. Jedes Image besteht aus einer Reihe von Schichten. Docker verwendet <noindex><a rel=\"nofollow\" href=\"http:\/\/en.wikipedia.org\/wiki\/UnionFS\">das Union-Dateisystem<\/a><\/noindex> um diese Schichten zu einem einzigen Image zu kombinieren. Das Union-Dateisystem erm\u00f6glicht es Dateien und Verzeichnissen aus verschiedenen Dateisystemen (verschiedenen Verzweigungen), transparent \u00fcbereinandergelegt zu werden und ein koh\u00e4rentes Dateisystem zu schaffen.<\/p>\n<p>Ein Grund, warum Docker leichtgewichtig ist, liegt in der Verwendung dieser Schichten. Wenn Sie ein Image \u00e4ndern, beispielsweise eine Anwendung aktualisieren, wird eine neue Schicht erstellt. So wird, ohne das gesamte Image zu ersetzen oder neu zu erstellen, wie Sie es m\u00f6glicherweise mit einer virtuellen Maschine tun m\u00fcssen, nur die Schicht hinzugef\u00fcgt oder aktualisiert. Und Sie m\u00fcssen nicht das gesamte neue Image verteilen, sondern nur das Update, was die Verbreitung von Images einfacher und schneller macht.<\/p>\n<p>Jedes Image basiert auf einem Basis-Image. Zum Beispiel ubuntu, das Basis-Image von Ubuntu, oder fedora, das Basis-Image des Fedora-Distributions. Ebenso k\u00f6nnen Sie Images als Grundlage zur Erstellung neuer Images verwenden. Wenn Sie beispielsweise ein Image namens apache haben, k\u00f6nnen Sie es als Basis-Image f\u00fcr Ihre Webanwendungen verwenden.<\/p>\n<p><i>Hinweis! Docker bezieht normalerweise Images aus dem Docker Hub-Registry.<\/i><\/p>\n<p>Docker-Images k\u00f6nnen aus diesen Basis-Images erstellt werden, die Schritte zur Erstellung dieser Images nennen wir Anweisungen. Jede Anweisung erstellt ein neues Image oder eine neue Schicht. Die Anweisungen umfassen folgende Aktionen:<\/p>\n<p><\/p>\n<ul>\n<li>Befehlsausf\u00fchrung<\/li>\n<li>Hinzuf\u00fcgen einer Datei oder eines Verzeichnisses<\/li>\n<li>Erstellen einer Umgebungsvariable<\/li>\n<li>Angeben, was ausgef\u00fchrt werden soll, wenn der Container dieses Images gestartet wird<\/li>\n<\/ul>\n<p>Diese Anweisungen werden in einer Datei gespeichert <code>Dockerfile<\/code>. Docker liest dies <code>Dockerfile<\/code>, wenn Sie das Image bauen, f\u00fchrt diese Anweisungen aus und gibt das endg\u00fcltige Image zur\u00fcck.<\/p>\n<h4>Wie funktioniert das Docker-Registry?<\/h4>\n<p>\nEin Registry ist ein Speicher f\u00fcr Docker-Images. Nach der Erstellung eines Images k\u00f6nnen Sie es in einem \u00f6ffentlichen Registry auf Docker Hub oder in Ihrem pers\u00f6nlichen Registry ver\u00f6ffentlichen.<\/p>\n<p>Mit dem Docker-Client k\u00f6nnen Sie nach bereits ver\u00f6ffentlichten Images suchen und sie auf Ihr Docker-System herunterladen, um Container zu erstellen.<\/p>\n<p>Docker Hub bietet \u00f6ffentliche und private Speichern f\u00fcr Images. Das Suchen und Herunterladen von Images aus \u00f6ffentlichen Speichern ist f\u00fcr alle verf\u00fcgbar. Der Inhalt privater Speicher erscheint nicht in den Suchergebnissen. Nur Sie und Ihre Benutzer k\u00f6nnen diese Images abrufen und Container daraus erstellen.<\/p>\n<h4>Wie funktioniert ein Container?<\/h4>\n<p>\nEin Container besteht aus einem Betriebssystem, Benutzerdaten und Metadaten. Wie wir wissen, wird jeder Container aus einem Image erstellt. Dieses Image sagt Docker, was sich im Container befindet, welchen Prozess zu starten ist, wenn der Container gestartet wird, und weitere Konfigurationsdaten. Das Docker-Image ist nur schreibgesch\u00fctzt. Wenn Docker einen Container startet, wird eine schreibbare Schicht \u00fcber dem Image (unter Verwendung eines Union-Dateisystems, wie zuvor erw\u00e4hnt) erstellt, in der die Anwendung ausgef\u00fchrt werden kann.<\/p>\n<h4>Was passiert, wenn ein Container gestartet wird?<\/h4>\n<p>\nEntweder \u00fcber das Programm <code>docker<\/code>, oder \u00fcber die RESTful API, sagt der Docker-Client dem Docker-Daemon, dass er den Container starten soll.<\/p>\n<p><code>$ sudo docker run -i -t ubuntu \/bin\/bash<br \/>\n<\/code><br \/>\nLassen Sie uns diesen Befehl einmal genauer betrachten. Der Client wird mit dem Befehl <code>docker<\/code>, mit der Option <code>run<\/code>, die sagt, dass ein neuer Container gestartet wird. Die Mindestanforderungen f\u00fcr den Start des Containers sind die folgenden Attribute:<\/p>\n<ul>\n<li>welches Image f\u00fcr die Erstellung des Containers verwendet werden soll. In unserem Fall <code>ubuntu<\/code><\/li>\n<li>den Befehl, den Sie ausf\u00fchren m\u00f6chten, wenn der Container gestartet wird. In unserem Fall <code>\/bin\/bash<\/code><\/li>\n<\/ul>\n<p>Was passiert unter der Haube, wenn wir diesen Befehl ausf\u00fchren?<\/p>\n<p>Docker f\u00fchrt der Reihe nach Folgendes aus:<\/p>\n<ul>\n<li><b>l\u00e4dt das Image ubuntu herunter:<\/b> Docker pr\u00fcft, ob das Image <code>ubuntu<\/code> auf der lokalen Maschine vorhanden ist, und wenn nicht, wird es von <noindex><a rel=\"nofollow\" href=\"https:\/\/hub.docker.com\/\">Docker Hub<\/a><\/noindex>heruntergeladen. Ist das Image vorhanden, wird es zur Erstellung des Containers verwendet;<\/li>\n<li><b>erstellt den Container:<\/b> sobald das Image vorhanden ist, verwendet Docker es zur Erstellung des Containers;<\/li>\n<li><b>initialisiert das Dateisystem und montiert die schreibgesch\u00fctzte Ebene:<\/b> der Container wird im Dateisystem erstellt und die schreibgesch\u00fctzte Ebene wird hinzugef\u00fcgt; das Image<\/li>\n<li><b>initiiert das Netzwerk\/Br\u00fccke:<\/b> erstellt ein Netzwerk-Interface, das es Docker erm\u00f6glicht, mit der Hostmaschine zu kommunizieren;<\/li>\n<li><b>Vergibt die IP-Adresse:<\/b> findet und setzt die Adresse;<\/li>\n<li><b>Startet den angegebenen Prozess:<\/b> startet Ihre Anwendung;<\/li>\n<li><b>verarbeitet und gibt die Ausgabe Ihrer Anwendung aus:<\/b> verbindet sich und protokolliert den Standard-Eingang, -Ausgang und den Fehlerstrom Ihrer Anwendung, damit Sie verfolgen k\u00f6nnen, wie Ihre Anwendung funktioniert.<\/li>\n<\/ul>\n<p>\nJetzt haben Sie einen funktionierenden Container. Sie k\u00f6nnen Ihren Container verwalten und mit Ihrer Anwendung interagieren. Wenn Sie die Anwendung stoppen m\u00f6chten, l\u00f6schen Sie den Container.<\/p>\n<h3>Verwendete Technologien<\/h3>\n<p>\nDocker ist in Go geschrieben und nutzt einige Funktionen des Linux-Kernels, um die oben genannte Funktionalit\u00e4t zu realisieren.<\/p>\n<h4>Namensr\u00e4ume (Namespaces)<\/h4>\n<p>\nDocker verwendet die Technologie <code>namespaces<\/code> zur Organisation isolierter Arbeitsbereiche, die wir Container nennen. Wenn wir einen Container starten, erstellt Docker ein Set von Namensr\u00e4umen f\u00fcr diesen Container.<\/p>\n<p>Dies erzeugt eine isolierte Ebene; jeder Aspekt des Containers l\u00e4uft in seinem eigenen Namensraum und hat keinen Zugriff auf das externe System.<\/p>\n<p>Eine Liste einiger Namensr\u00e4ume, die Docker verwendet:<\/p>\n<ul>\n<li><b>pid:<\/b> zur Isolierung von Prozessen;<\/li>\n<li><b>net:<\/b> zur Verwaltung von Netzwerkschnittstellen;<\/li>\n<li><b>ipc:<\/b> zur Verwaltung von IPC-Ressourcen. (IPC: Interprozesskommunikation);<\/li>\n<li><b>mnt:<\/b> zur Verwaltung von Einh\u00e4ngepunkten;<\/li>\n<li><b>utc:<\/b> zur Isolierung des Kernels und zur Kontrolle der Versionserzeugung (UTC: Unix-Zeitverteilungssystem).<\/li>\n<\/ul>\n<h4>Kontrollgruppen (Cgroups)<\/h4>\n<p>\nDocker verwendet ebenfalls die Technologie <code>cgroups<\/code> oder Kontrollgruppen. Der Schl\u00fcssel zur Isolierung der Anwendung besteht darin, der Anwendung nur die Ressourcen bereitzustellen, die Sie bereitstellen m\u00f6chten. Dies gew\u00e4hrleistet, dass die Container gute Nachbarn sind. Kontrollgruppen erm\u00f6glichen es, die verf\u00fcgbaren Ressourcen der Hardware zu teilen und, falls erforderlich, Limits und Einschr\u00e4nkungen festzulegen. Beispielsweise kann die m\u00f6gliche Speichermenge eines Containers begrenzt werden.<\/p>\n<h4>Union File System<\/h4>\n<p>\nDas Union File System oder UnionFS ist ein Dateisystem, das durch das Erstellen von Schichten arbeitet, wodurch es sehr leicht und schnell wird. Docker verwendet UnionFS, um die Bl\u00f6cke zu erstellen, aus denen der Container besteht. Docker kann mehrere Varianten von UnionFS verwenden, darunter: AUFS, btrfs, vfs und DeviceMapper.<\/p>\n<h4>Containerformate<\/h4>\n<p>\nDocker kombiniert diese Komponenten in einer H\u00fclle, die wir Containerformat nennen. Das standardm\u00e4\u00dfig verwendete Format wird genannt <code>libcontainer<\/code>. Au\u00dferdem unterst\u00fctzt Docker das traditionelle Containerformat in Linux mithilfe von <noindex><a rel=\"nofollow\" href=\"http:\/\/linuxcontainers.org\">LXC<\/a><\/noindex>. In Zukunft k\u00f6nnte Docker m\u00f6glicherweise andere Containerformate unterst\u00fctzen, beispielsweise durch die Integration mit BSD Jails oder Solaris Zones.<br \/>\n<br \/>Quelle: <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.1.1 - 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\/de\/blog\/administrirovanie\/ponimaya-docker\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\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\/de\/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\udd47Docker verstehen | ProHoster","description":"Ich benutze Docker seit mehreren Monaten, um den Entwicklungs-\/Bereitstellungsprozess von Webprojekten zu strukturieren.","canonical_url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/ponimaya-docker","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"de_DE","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\/de\/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\/de\/wp-json\/wp\/v2\/posts\/36772","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=36772"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/36772\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=36772"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=36772"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=36772"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}