Docker-Lernen (1): Eine grundlegende Einführung in Docker

Ich war schon einmal mit Docker in Kontakt, aber ich weiß nicht viel darüber. Deshalb schreibe ich heute einen Blog über Docker. Der Zweck ist zweierlei: 1. Erfahren Sie mehr über Docker über das Blog-System; 2. Lernen Sie mit Ihren Bloggern durch der Blog!

Zuerst habe ich die relevante Akzeptanz von Docker von Baidu Encyclopedia überprüft: Docker ist eine Open-Source-Anwendungscontainer-Engine, mit der Entwickler ihre Anwendungen und abhängigen Pakete in einen tragbaren Container packen und dann auf einem gängigen Linux-Computer oder auf Windows-Computern veröffentlichen können. Eine Virtualisierung kann ebenfalls erreicht werden. Container verwenden den Sandbox-Mechanismus vollständig und es gibt keine Schnittstellen zwischen ihnen.

Docker ist eine Open-Source-Anwendungscontainer-Engine, die auf der  Go-Sprache  und Open Source in Übereinstimmung mit dem Apache2.0-Protokoll basiert.

Ein vollständiger Docker besteht aus folgenden Teilen:

  1. DockerClient-Client
  2. Docker Daemon Daemon
  3. Docker Bildspiegel
  4. Docker Container Container

Offizielle Docker-Website: https://www.docker.com/

Github Docker-Quellcode: https://github.com/docker/docker-ce

1. Docker-Architektur

Die Docker-Architektur enthält drei grundlegende Konzepte:

  • Das Image
    entspricht einem Root-Dateisystem. Das Spiegelbild besteht aus mehreren Ebenen, und nachdem jede Ebene überlagert wurde, sieht es von außen wie ein unabhängiges Objekt aus. Das Image enthält ein optimiertes Betriebssystem (OS) sowie Dateien und Abhängigkeiten, die für die Ausführung der Anwendung erforderlich sind.
    Docker镜像是(Image)就是一个只读的模板,它可以是一个运行软件(tomcat/mysql),也可以是一个系统(centos/ubuntu)
    Container
    (Container) Die Beziehung zwischen dem Image (Image) und dem Container (Container) ähnelt der Klasse und Instanz bei der objektorientierten Programmierung. Das Image ist eine statische Definition, und der Container ist zur Laufzeit die Entität des Images. Container können erstellt, gestartet, gestoppt, gelöscht, angehalten und andere Vorgänge ausgeführt werden.
  • Das Repository-
    Lager kann als Code-Kontrollzentrum zum Speichern von Bildern angesehen werden.
    Ähnlich wie GitHub beim Speichern von Projektcode, außer dass Docker Hub Bilder (Image) vom Ursprung speichert.
    Es gibt einen Unterschied zwischen Repository und Registrierung. Der Lagerregistrierungsserver speichert häufig mehrere Lager, und jedes Lager enthält mehrere Spiegel, und jeder Spiegel hat ein anderes Tag (Tag, ähnliche Versionsnummer).
Docker Objektorientierter
Container Objekt
Spiegelbild Klasse

 

 Beschreibung des Docker-Grundkonzepts

Lesen Beschreibung

Docker-Bild (Bilder)

Das Docker-Image ist eine Vorlage zum Erstellen von Docker-Containern, z. B. des Ubuntu-Systems.

Docker Container (Container)

Ein Container ist eine Anwendung oder eine Gruppe von Anwendungen, die unabhängig voneinander ausgeführt werden, und eine Entität, die die Laufzeit widerspiegelt.

Docker-Client (Client)

Der Docker-Client verwendet das Docker SDK ( https://docs.docker.com/develop/sdk/ ), um über die Befehlszeile oder andere Tools mit dem Docker-Dämon zu kommunizieren.

Docker-Host (Host)

Eine physische oder virtuelle Maschine wird verwendet, um den Docker-Dämon und -Container auszuführen.

Docker-Registrierung

Das Docker-Warehouse wird zum Speichern von Bildern verwendet, die als Code-Warehouse in der Codesteuerung verstanden werden können.

Docker Hub ( https://hub.docker.com ) bietet eine riesige Sammlung von Bildern zur Verwendung.

Eine Docker-Registrierung kann mehrere Repositorys enthalten, jedes Repository kann mehrere Tags enthalten, jedes Tag entspricht einem Spiegel.

Normalerweise enthält ein Warehouse Images verschiedener Versionen derselben Software, und häufig werden Tags verwendet, um jeder Version der Software zu entsprechen. Wir können das Format <Lagername>: <Tag> verwenden, um anzugeben, welche Version der Software der Spiegel ist. Wenn keine Beschriftung angegeben ist, wird die  neueste  als Standardbeschriftung verwendet.

Docker-Maschine

Docker Machine ist ein Befehlszeilentool, das die Installation von Docker vereinfacht. Sie können Docker über eine einfache Befehlszeile wie VirtualBox, Digital Ocean und Microsoft Azure auf den entsprechenden Plattformen installieren.

Zwei Docker-Anwendungsszenarien

  1. Automatisiertes Verpacken und Veröffentlichen von Webanwendungen
  2. Automatisiertes Testen, kontinuierliche Integration und Freigabe
  3. Bereitstellen und Anpassen von Datenbanken oder anderen Hintergrundanwendungen in einer serviceorientierten Umgebung
  4. Kompilieren Sie Hu von Grund auf neu oder erweitern Sie die vorhandene OpenShit- oder Cloud Foundry-Plattform, um Ihre eigene PaaS-Umgebung zu erstellen

Drei, die Vorteile von Docker

Docker ist eine offene Plattform zum Entwickeln, Bereitstellen und Ausführen von Anwendungen. Mit Docker können Sie Ihre Anwendung von der Infrastruktur trennen, um Software schnell bereitzustellen. Mit Docker können Sie Ihre Infrastruktur genauso verwalten wie Anwendungen. Durch die Nutzung der Docker-Methode zum schnellen Bereitstellen, Testen und Bereitstellen von Code können Sie die Verzögerung zwischen dem Schreiben von Code und dem Ausführen von Code in einer Produktionsumgebung erheblich reduzieren.

1. Stellen Sie Ihre Bewerbung schnell und konsistent bereit

Mit Docker können Entwickler die lokalen Container der von Ihnen bereitgestellten Anwendungen oder Dienste verwenden, um in einer standardisierten Umgebung zu arbeiten, wodurch der Entwicklungslebenszyklus vereinfacht wird.

Container eignen sich sehr gut für Workflows zur kontinuierlichen Integration und kontinuierlichen Bereitstellung (CI / CD). Beachten Sie die folgenden Beispielszenarien:

  • Ihre Entwickler schreiben Code lokal und verwenden Docker-Container, um ihre Arbeit mit Kollegen zu teilen.
  • Sie verwenden Docker, um ihre Anwendungen in die Testumgebung zu übertragen und automatisierte oder manuelle Tests durchzuführen.
  • Wenn Entwickler Fehler finden, können sie diese in der Entwicklungsumgebung beheben und sie dann zum Testen und Überprüfen erneut in der Testumgebung bereitstellen.
  • Nach Abschluss des Tests ist das Verschieben des Patches in die Produktionsumgebung so einfach wie das Verschieben des aktualisierten Images in die Produktionsumgebung.

2. Responsive Bereitstellung und Erweiterung

Docker ist eine containergestützte Plattform, die hoch portable Workloads ermöglicht. Docker-Container können auf dem nativen Computer des Entwicklers, auf einer physischen oder virtuellen Maschine im Rechenzentrum, in einem Cloud-Dienst oder in einer Hybridumgebung ausgeführt werden.

Dank der Portabilität und der geringen Funktionen von Docker können Sie auch die Arbeitslast des dynamischen Managements auf einfache Weise erledigen und gemäß den Anweisungen des Geschäfts die Anwendungen oder Dienste in Echtzeit erweitern oder entfernen.

3. Führen Sie mehr Workloads auf derselben Hardware aus

Docker ist leicht und schnell. Es bietet eine praktikable, wirtschaftliche und effiziente Alternative zu virtuellen Maschinen, die auf Hypervisoren basieren, sodass Sie mehr Rechenleistung verwenden können, um Geschäftsziele zu erreichen. Docker eignet sich sehr gut für Umgebungen mit hoher Dichte und kleine und mittlere Bereitstellungen, und Sie können mit weniger Ressourcen mehr erreichen.

Das Obige ist nur eine Einführung in die Grundsituation von Docker. Tatsächlich sind einige der Autoren auch halbwegs sachkundig und werden sich im zukünftigen Lernprozess allmählich ansammeln ...

 

Weiter: Docker-Lernen (zwei) -Docker-Installation und -Konfiguration

-------------------------------------------------- ----------------------
Autor:
Weltcodierungsquelle: CSDN-
Original: https://blog.csdn.net/dgxin_605/article/details/106164347
Copyright-Hinweis : Dieser Artikel ist der Originalartikel des Bloggers. Bitte fügen Sie einen Link zum Blog-Beitrag hinzu, wenn Sie ihn erneut drucken.

-------------------------------------------------- ----------------------

 

 

Ich denke du magst

Origin blog.csdn.net/dgxin_605/article/details/106164347
Empfohlen
Rangfolge