Das Docker-Compose-Projekt ist das offizielle Open-Source-Projekt von Docker, das für die schnelle Orchestrierung von Docker-Container-Clustern verantwortlich ist. Mit Compose können Benutzer eine Reihe zugehöriger Anwendungscontainer als Projekt über eine separate Docker-Compose.yml-Vorlagendatei (YAML-Format) definieren. Das Docker-Compose-Projekt ist in Python geschrieben und ruft die vom Docker-Dienst bereitgestellte API auf, um Container zu verwalten. Daher können Sie Compose für die Orchestrierungsverwaltung verwenden, solange die Plattform, auf der Sie arbeiten, die Docker-API unterstützt.
Docker-Compose unterteilt die verwalteten Container in drei Schichten, nämlich Projekt, Service und Container. Alle Dateien im Docker-Compose-Laufverzeichnis (docker-compose.yml, Erweiterungsdateien oder Umgebungsvariablendateien usw.) bilden ein Projekt. Wenn keine spezielle Angabe erfolgt, ist der Projektname der aktuelle Verzeichnisname. Ein Projekt kann mehrere Dienste enthalten und jeder Dienst definiert das Image, die Parameter und Abhängigkeiten für die Ausführung des Containers. Ein Dienst kann mehrere Containerinstanzen umfassen. Docker-Compose löst das Problem des Lastausgleichs nicht, daher sind andere Tools erforderlich, um die Diensterkennung und den Lastausgleich zu erreichen.
Die Projektkonfigurationsdatei von Docker-Compose ist standardmäßig docker-compose.yml. Die Konfigurationsdatei kann über die Umgebungsvariable COMPOSE_FILE oder den Parameter -f angepasst werden, der mehrere abhängige Dienste und die Container definiert, in denen jeder Dienst ausgeführt wird.
Durch die Verwendung einer Dockerfile-Vorlagendatei können Benutzer problemlos einen separaten Anwendungscontainer definieren. Bei der Arbeit stoßen wir oft auf Situationen, in denen mehrere Container zusammenarbeiten müssen, um eine bestimmte Aufgabe zu erledigen. Um beispielsweise ein Webprojekt zu implementieren, ist es häufig erforderlich, zusätzlich zum Webdienstcontainer selbst einen Back-End-Datenbankdienstcontainer und sogar einen Lastausgleichscontainer hinzuzufügen.
Allgemeine Befehle
docker-compose
Compose wird verwendet, um „Anwendungen mehrerer Docker-Container zu definieren und auszuführen“. Mit Compose können Sie die Dienste Ihrer Anwendung in einer Konfigurationsdatei (YAML-Format) konfigurieren und dann mit einem einzigen Befehl alle Dienste erstellen und starten, auf die in der Konfiguration verwiesen wird.
Zwei wichtige Konzepte in Compose:
• Dienst: Ein Anwendungscontainer kann tatsächlich mehrere Containerinstanzen enthalten, auf denen dasselbe Image ausgeführt wird.
• Projekt: Eine vollständige Geschäftseinheit, bestehend aus einer Reihe zugehöriger Anwendungscontainer, definiert in der Datei docker-compose.yml.
Über GitHub-Link herunterladen und installieren Nicht-ROOT-Benutzer denken daran, sudo hinzuzufügen
sudo curl -L "https://github.com/docker/compose/releases/download/1.25.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
Geben Sie der Binär-Download-Datei ausführbare Berechtigungen
sudo chmod +x /usr/local/bin/docker-compose
Überprüfen Sie, ob sie installiert ist
docker-compose --version
Deinstallieren
Wenn es installiert ist als Ein Binärpaket, löschen Sie es. Binärdateien reichen aus. docker-compose.yml beschreibt die Konfiguration des Containers und der Befehl docker-compose beschreibt die Funktionsweise des Containers.
docker-compose.yml
rm /usr/local/bin/docker-compose
compose docker-compose.yml eureka Dockerfile eureka-server-2.0.2.RELEASE.jar user Dockerfile user-2.0.2.RELEASE.jar power Dockerfile power-2.0.2.RELEASE.jar
Um den Microservice zu starten, können Sie den Parameter -d hinzufügen, um im Hintergrund zu starten
version: '3.1' #这里要指定docker-compose对应的docker版本 services: jenkinstest: #指定服务名 #image: jenkinstest #指定镜像名称 小写不然会报错 build: ./jenkinsTest #指定Dockfile所在路径 ports: - 8099:8099 #指定端口映射 expose: - 8099 #对外暴露的服务端口
Verwenden Sie Docker Compose zur Orchestrierung des SpringCloud-Microservices-Dienstes
FROM adoptopenjdk/openjdk8:jdk8u-centos-nightly #作者 MAINTAINER lkz # 镜像要暴露的端口,如要使用端口,在执行docker run命令时使用-p生效 EXPOSE 8099 COPY jenkinsTest.jar 11.jar # 在镜像运行为容器后执行的命令 ENTRYPOINT ["java","-jar","11.jar"]
Das obige ist der detaillierte Inhalt vonSo veröffentlichen Sie ein Springboot-Projekt mit dem Docker-Compose-Image. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!