Inhaltsverzeichnis
Compose
Heim Betrieb und Instandhaltung Docker Was bedeuten die drei Musketiere in Docker?

Was bedeuten die drei Musketiere in Docker?

Nov 25, 2021 pm 05:42 PM
compose docker swarm

Die drei Schwertkämpfer in Docker beziehen sich auf Schwarm, Zusammensetzen und Maschine. Compose ist ein Tool zum Definieren und Ausführen eines oder mehrerer Container und Anwendungen. Machine ist ein Befehlszeilentool, das die Docker-Installation vereinfacht. Swarm ist ein von der Community bereitgestelltes Tool, das Docker-Cluster nativ unterstützt.

Was bedeuten die drei Musketiere in Docker?

Die Betriebsumgebung dieses Tutorials: Linux5.9.8-System, Docker-1.13.1-Version, Dell G3-Computer.

Die drei Musketiere in Docker-Containern sind Schwarm, Komponieren und Maschine.

Compose

1. Übersicht

In einer tatsächlichen Produktionsumgebung besteht eine Anwendung oft aus vielen Diensten, und die beste Praxis von Docker besteht darin, dass ein Container nur einen Prozess ausführt, also mehrere Mikrodienste ausführen Um mehrere Container auszuführen. Mehrere zusammenarbeitende Container erfordern ein effektives Tool, um sie zu verwalten und zu definieren, wie diese Container zueinander in Beziehung stehen. compose entstand.

compose ist ein Tool zum Definieren und Ausführen eines oder mehrerer Container (normalerweise mehrere), um sie auszuführen und anzuwenden. Die Verwendung von Compose kann die Erstellung von Container-Images und die Ausführung von Containern vereinfachen.

compose verwendet YAML-Dateien, um Beziehungen zwischen mehreren Containern zu definieren. Ein docker-compose up kann die komplette Anwendung ausführen. Im Wesentlichen analysiert Compose die YAML-Datei in die Parameter des Docker-Befehls und ruft dann die entsprechende Docker-Befehlszeilenschnittstelle auf, um die Anwendung auf containerisierte Weise zu verwalten. Es startet Container nacheinander, indem es Abhängigkeiten zwischen Containern auflöst. Abhängigkeiten zwischen Containern werden durch das Tag links in der YAML-Datei angegeben. docker-compose up 就可以把完整的应用跑起来。 本质上, compose 把 YAML  文件解析成 docker 命令的参数,然后调用相应的 docker 命令行接口,从而将应用以容器化的方式管理起来。它通过解析容器间的依赖关系顺序地启动容器。而容器间的依赖关系由 YAML 文件中的 links 标记指定。

2. compose 配置简介

Compose 是对 docker 命令的封装,默认使用 docker-compose.yml 文件指定各个命令中的参数。
一个简单的例子:

web:
  build: .
  ports:
  - 8080:80
  volumes:
  - . : /code
  links:
  - redis
redis:
  image: redis
Nach dem Login kopieren

这个 YAML 文件定义了两个服务: Web 和 Redis, 服务的名称由用户自定义。提供 Web 服务的镜像从 Dockerfile 构建; Web 服务监听80端口,并和主机的8080端口建立映射;主机的当前目录挂载到容器里的 /code 目录上;Web 服务器通过链接 Redis 容器来访问后台 Redis 数据库。而 Redis 数据库服务是通过运行 Redis 镜像来提供的。

在 docker-compose.yml 文件中,每个定义的服务都至少包含 buildimage 其中之一,其他命令都是可选的。 build 命令指定了包含 Dockerfile 的目录,可以是相对目录也可以是绝对目录。

docker-compose.yml 文件中的 "ports" 标记对应于 docker run 的 "-p"选项; "volumes"标记对应 docker run 的 "-v" 选项; "links" 标记对应 docker run 的 "--links"选项。

此外,image 用于指定服务的镜像。

最后,在 docker-compose.yml 所在的目录下执行 docker-compose up

2. Einführung in die Compose-Konfiguration

Compose ist eine Kapselung des Docker-Befehls

Standardmäßig wird die Datei docker-compose.yml verwendet, um die Parameter in jedem Befehl anzugeben.

Ein einfaches Beispiel:

rrreee

Diese YAML-Datei definiert zwei Dienste: Web und Redis. Der Name des Dienstes wird vom Benutzer angepasst. Das Image, das den Webdienst bereitstellt, wird aus der Docker-Datei erstellt. Der Webdienst überwacht Port 8080 und ordnet ihn dem aktuellen Verzeichnis des Hosts zu, auf das der Webserver zugreift die Backend-Redis-Datenbank durch Verknüpfen mit dem Redis-Container. Der Redis-Datenbankdienst wird durch Ausführen des Redis-Images bereitgestellt.

In der Datei docker-compose.yml enthält jeder definierte Dienst mindestens einen von build oder image, und andere Befehle sind optional. Der Build-Befehl gibt das Verzeichnis an, das die Docker-Datei enthält. Dabei kann es sich um ein relatives Verzeichnis oder ein absolutes Verzeichnis handeln.

Das Tag „ports“ in der Datei docker-compose.yml entspricht der Option „-p“ von Docker Run; das Tag „volumes“ entspricht der Option „-v“ von Docker run; auf die Option „--“ von Docker-Run-Links“. Was bedeuten die drei Musketiere in Docker?

Darüber hinaus wird image verwendet, um das Bild des Dienstes anzugeben.

Führen Sie abschließend den Befehl docker-compose up in dem Verzeichnis aus, in dem sich docker-compose.yml befindet, und sowohl der Web- als auch der Redis-Dienst werden erfolgreich ausgeführt. Machine

1. Übersicht


Docker Machine ist ein Befehlszeilentool, das die Docker-Installation vereinfacht. Docker kann über eine einfache Befehlszeile auf der entsprechenden Plattform installiert werden und bietet Benutzern flexible Funktionen, mit denen sie Docker-Container auf jedem Host ausführen können. Einfach ausgedrückt ist eine Docker-Maschine eine Kombination aus einem Docker-Host und einem konfigurierten Docker-Client.

🎜Technisch gesehen ist Machine ein Framework und relativ offen. Für jede Plattform, die virtuelle Maschinendienste bereitstellt, kann Docker Machine in die Plattform integriert werden und Aktionen wie Erstellen, Löschen, Starten und Stoppen auf der Plattform ausführen, sofern in diesem Framework ein Treiber für die Plattform entwickelt wird. Die Architektur von Docker Machine ist in der Abbildung dargestellt Der Docker-Client kommuniziert mit dem Docker-Host, um ein Image auf dem Docker-Host zu erstellen und den Container zu starten. 🎜🎜Wenn Sie Docker Machine zum Erstellen einer virtuellen Maschine verwenden, müssen Sie den entsprechenden Treiber entwickeln. Derzeit umfassen die Treiber, die diese Maschine unterstützen, VirtualBox-Treiber, VMware-Treiber und Hyper-V-Treiber unter Windows. Darüber hinaus unterstützt Machine auch die Erstellung von Cloud-Hosts. Solange ein Treiber entwickelt wird, der den Framework-Spezifikationen entspricht, kann Docker Machine die entsprechende Plattform unterstützen. 🎜🎜Die IP-Adresse des von Machine erstellten Docker-Hosts ist die IP-Adresse der erstellten virtuellen Maschine. 🎜Verwenden Sie Docker Machine und VirtualBox-Treiber, um eine lokale virtuelle Maschine zu erstellen und einen Docker-Host zu erstellen. Der laufende Prozess ist wie folgt: 🎜
  • Führen Sie den Befehl docker-machine create --driver virtualbox dev aus. Dieser Befehl erstellt zunächst ein CA-Zertifikat für die Kommunikation zwischen Docker-Client und Docker-Host. Als nächstes erstellen Sie eine virtuelle VirtualBox-Maschine, konfigurieren die TLS-Parameter für die Kommunikation und das Netzwerk und stellen schließlich die Docker-Betriebsumgebung, also den Docker-Host, bereit. docker-machine create --driver virtualbox dev命令。此命令首先创建用于 Docker client 和 Docker host 通信用的 CA 证书。 其次创建 VirtualBox 虚拟机, 并配置用于通信的 TLS 参数及配置网络, 最后部署 Docker 的运行环境 即 Docker host。

  • 在 Docker client 里运行 eval "$(docker-machine env dev)"

  • Führen Sie den Befehl eval "$(docker-machine env dev)" im Docker-Client aus, um die Umgebungsvariablen zu konfigurieren, die für die Docker-Host-Kommunikation verwendet werden.

Verwenden Sie Docker-bezogene Befehle, um den entsprechenden Container zu erstellen oder zu starten.

Swarm

1 Übersicht


Swarm ist ein von der Docker-Community bereitgestelltes Tool, das Docker-Cluster nativ unterstützt. Es kann ein System, das aus mehreren Docker-Hosts besteht, in einen einzigen virtuellen Docker-Host umwandeln. Swarm stellt der Außenwelt zwei APIs zur Verfügung. Eine davon ist die Standard-Docker-API wie Dokku, Compose, Krane, Flynn, Deis, Jenkins usw.; die andere ist die Cluster-Management-API von Swarm, die für die Cluster-Verwaltung verwendet wird.

Das Swarm-Tool selbst ist noch nicht sehr ausgereift und wird nicht für den Einsatz in Produktionsumgebungen empfohlen.

Und Googles Open-Source-Kubernetes ist derzeit das beliebteste Orchestrierungs- und Bereitstellungstool im Container-Ökosystem.
Die Architektur von Kubernetes basiert auf einem Master-Server mit mehreren Minion-Knoten. Ich bin noch nicht mit K8s in Berührung gekommen. Ich werde es hier zusammenfassen, nachdem ich mehr erfahren habe.

Blockdiagramm der K8s-ArchitekturWas bedeuten die drei Musketiere in Docker?

  • Erläuterung der Komponenten:
  • Master: Master-Server, laufender Kebernetes-Verwaltungsprozess, einschließlich API-Dienst, Backup-Controller und -Scheduler usw.
  • Minion: Der Host des Kubelet-Dienstes und der Docker-Engine akzeptiert Anweisungen vom Master.
  • Kubelet: Kubernetes-Knotenebenen-Manager, läuft auf Minion.
  • Pod: Eine Sammlung mehrerer Container, und diese Container laufen auf denselben Minions . Pod ist die kleinste Verwaltungseinheit von K8s
  • Replication Controller: verwaltet den Lebenszyklus von Pod
  • Service: definiert die Dienste und Ports, die die Offenlegung des Containers ermöglichen, sowie externe Agenten für Kommunikation und Interaktion

Kubecfg: Befehl Line-Schnittstelle, interagiert mit dem Master und fordert die Bereitstellung und Verwaltung des Anwendungsgeschäfts an

Empfohlenes Lernen: „🎜Docker-Video-Tutorial🎜“🎜

Das obige ist der detaillierte Inhalt vonWas bedeuten die drei Musketiere in Docker?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So verpacken Sie ein Projekt mit Pycharm So verpacken Sie ein Projekt mit Pycharm Apr 25, 2024 am 03:54 AM

Es gibt vier Möglichkeiten, ein Projekt in PyCharm zu verpacken: Als separate ausführbare Datei verpacken: In das EXE-Einzeldateiformat exportieren. Als Installationsprogramm verpackt: Setuptools-Makefile generieren und erstellen. Als Docker-Image verpacken: Geben Sie einen Image-Namen an, passen Sie die Build-Optionen an und erstellen Sie. Als Container verpacken: Geben Sie das zu erstellende Image an, passen Sie die Laufzeitoptionen an und starten Sie den Container.

Architektur und Praxis verteilter PHP-Systeme Architektur und Praxis verteilter PHP-Systeme May 04, 2024 am 10:33 AM

Die verteilte PHP-Systemarchitektur erreicht Skalierbarkeit, Leistung und Fehlertoleranz durch die Verteilung verschiedener Komponenten auf mit dem Netzwerk verbundene Maschinen. Die Architektur umfasst Anwendungsserver, Nachrichtenwarteschlangen, Datenbanken, Caches und Load Balancer. Zu den Schritten zur Migration von PHP-Anwendungen auf eine verteilte Architektur gehören: Identifizieren von Dienstgrenzen, Auswählen eines Nachrichtenwarteschlangensystems, Einführung eines Microservices-Frameworks, Bereitstellung für die Containerverwaltung, Diensterkennung

Docker schließt die lokale Bereitstellung des großen Open-Source-Modells LLama3 in drei Minuten ab Docker schließt die lokale Bereitstellung des großen Open-Source-Modells LLama3 in drei Minuten ab Apr 26, 2024 am 10:19 AM

Übersicht LLaMA-3 (LargeLanguageModelMetaAI3) ist ein groß angelegtes Open-Source-Modell für generative künstliche Intelligenz, das von Meta Company entwickelt wurde. Im Vergleich zur Vorgängergeneration LLaMA-2 gibt es keine wesentlichen Änderungen in der Modellstruktur. Das LLaMA-3-Modell ist in verschiedene Maßstabsversionen unterteilt, darunter kleine, mittlere und große, um unterschiedlichen Anwendungsanforderungen und Rechenressourcen gerecht zu werden. Die Parametergröße kleiner Modelle beträgt 8 B, die Parametergröße mittlerer Modelle beträgt 70 B und die Parametergröße großer Modelle erreicht 400 B. Beim Training besteht das Ziel jedoch darin, multimodale und mehrsprachige Funktionalität zu erreichen, und die Ergebnisse werden voraussichtlich mit GPT4/GPT4V vergleichbar sein. Ollama installierenOllama ist ein Open-Source-Großsprachenmodell (LL

Agile Entwicklung und Betrieb der PHP-Microservice-Containerisierung Agile Entwicklung und Betrieb der PHP-Microservice-Containerisierung May 08, 2024 pm 02:21 PM

Antwort: PHP-Microservices werden mit HelmCharts für eine agile Entwicklung bereitgestellt und mit DockerContainer für Isolation und Skalierbarkeit in Containern verpackt. Detaillierte Beschreibung: Verwenden Sie HelmCharts, um PHP-Microservices automatisch bereitzustellen, um eine agile Entwicklung zu erreichen. Docker-Images ermöglichen eine schnelle Iteration und Versionskontrolle von Microservices. Der DockerContainer-Standard isoliert Microservices und Kubernetes verwaltet die Verfügbarkeit und Skalierbarkeit der Container. Verwenden Sie Prometheus und Grafana, um die Leistung und den Zustand von Microservices zu überwachen und Alarme und automatische Reparaturmechanismen zu erstellen.

PI -Knotenunterricht: Was ist ein PI -Knoten? Wie installiere und richte ich einen PI -Knoten ein? PI -Knotenunterricht: Was ist ein PI -Knoten? Wie installiere und richte ich einen PI -Knoten ein? Mar 05, 2025 pm 05:57 PM

Detaillierte Erläuterungs- und Installationshandbuch für Pinetwork -Knoten In diesem Artikel wird das Pinetwork -Ökosystem im Detail vorgestellt - PI -Knoten, eine Schlüsselrolle im Pinetwork -Ökosystem und vollständige Schritte für die Installation und Konfiguration. Nach dem Start des Pinetwork -Blockchain -Testnetzes sind PI -Knoten zu einem wichtigen Bestandteil vieler Pioniere geworden, die aktiv an den Tests teilnehmen und sich auf die bevorstehende Hauptnetzwerkveröffentlichung vorbereiten. Wenn Sie Pinetwork noch nicht kennen, wenden Sie sich bitte an was Picoin ist? Was ist der Preis für die Auflistung? PI -Nutzung, Bergbau und Sicherheitsanalyse. Was ist Pinetwork? Das Pinetwork -Projekt begann 2019 und besitzt seine exklusive Kryptowährung PI -Münze. Das Projekt zielt darauf ab, eine zu erstellen, an der jeder teilnehmen kann

So installieren Sie Deepseek So installieren Sie Deepseek Feb 19, 2025 pm 05:48 PM

Es gibt viele Möglichkeiten, Deepseek zu installieren, einschließlich: kompilieren Sie von Quelle (für erfahrene Entwickler) mit vorberechtigten Paketen (für Windows -Benutzer) mit Docker -Containern (für bequem am besten, um die Kompatibilität nicht zu sorgen), unabhängig von der Methode, die Sie auswählen, bitte lesen Die offiziellen Dokumente vorbereiten sie sorgfältig und bereiten sie voll und ganz vor, um unnötige Schwierigkeiten zu vermeiden.

Wie kann die Leistung von Java-Funktionen durch Containerisierung optimiert werden? Wie kann die Leistung von Java-Funktionen durch Containerisierung optimiert werden? Apr 29, 2024 pm 03:09 PM

Die Containerisierung verbessert die Leistung von Java-Funktionen auf folgende Weise: Ressourcenisolation – Gewährleistung einer isolierten Computerumgebung und Vermeidung von Ressourcenkonflikten. Leicht – beansprucht weniger Systemressourcen und verbessert die Laufzeitleistung. Schneller Start – reduziert Verzögerungen bei der Funktionsausführung. Konsistenz – Entkoppeln Sie Anwendungen und Infrastruktur, um ein konsistentes Verhalten in allen Umgebungen sicherzustellen.

Stellen Sie JavaEE-Anwendungen mithilfe von Docker-Containern bereit Stellen Sie JavaEE-Anwendungen mithilfe von Docker-Containern bereit Jun 05, 2024 pm 08:29 PM

Stellen Sie Java EE-Anwendungen mithilfe von Docker-Containern bereit: Erstellen Sie eine Docker-Datei, um das Image zu definieren, erstellen Sie das Image, führen Sie den Container aus, ordnen Sie den Port zu und greifen Sie dann im Browser auf die Anwendung zu. Beispiel für eine JavaEE-Anwendung: Die REST-API interagiert mit der Datenbank und ist nach der Bereitstellung über Docker auf localhost zugänglich.

See all articles