Heim  >  Artikel  >  Java  >  So veröffentlichen Sie ein Springboot-Projekt mit dem Docker-Compose-Image

So veröffentlichen Sie ein Springboot-Projekt mit dem Docker-Compose-Image

王林
王林nach vorne
2023-05-11 10:13:051165Durchsuche

Einführung

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

Einführung

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.

Docker Compose-Installationsschritte

Ü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.

1. Lassen Sie uns zunächst ein einfaches Beispiel erstellen, dann einen JenkinsTest-Ordner erstellen, das ausführbare JAR-Paket darin ablegen und eine Dockerfile-Datei schreiben Es speichert das zum Testen hochgeladene JAR-Paket

docker-compose.yml

rm /usr/local/bin/docker-compose

Dockerfile
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 startenSo veröffentlichen Sie ein Springboot-Projekt mit dem Docker-Compose-Image

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

Die Konfiguration ist die gleiche wie oben.

Ändern Sie die Datei „docker-compose.yml“

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen