Vor Kurzem musste ich das Projekt für die Mitglieder zum Testen verpacken, aber der Verpackungsvorgang wird die Entwicklung beeinträchtigen. Daher plane ich, Da das ursprüngliche Projekt zu groß war, plante ich, es mit einem großen Softwareentwicklungsexperiment auszuprobieren. Das große Softwareentwicklungsexperiment verwendete Docker-Compose Das Wir alle wissen, dass ein Anwendungscontainer mithilfe einer
Der Dienst ist Erstellen Sie Spring-Boot Um
Erstellen Sie das #### Erstellen Sie das Spring-Boot-Projekt von openjdk:8-jdk-alpine als Build # Legen Sie das Projektarbeitsverzeichnis WORKDIR /app im Docker-Container fest # Kopieren Sie das ausführbare Maven-Programm in den Container COPY mvnw. KOPIEREN .mvn .mvn # Datei pom.xml kopieren KOPIEREN pom.xml . # Alle Maven-Abhängigkeiten importieren RUN ./mvnw dependency:go-offline -B # Den Quellcode des Projekts kopieren COPY src src # Verpacken Sie die Anwendung. RUN ./mvnw package -DskipTests RUN mkdir -p Ziel/Abhängigkeit && (cd Ziel/Abhängigkeit; jar -xf ../*.jar) #### Legen Sie den minimalen Docker-Container fest, der die Anwendung von openjdk:8-jre-alpine ausführen kann. ARG DEPENDENCY=/App/Ziel/Abhängigkeit # Projektabhängigkeiten aus der Build-Phase kopieren KOPIEREN --from=build ${DEPENDENCY}/BOOT-INF/lib /app/lib KOPIEREN --from=build ${DEPENDENCY}/META-INF /app/META-INF KOPIEREN --from=build ${DEPENDENCY}/BOOT-INF/classes /app EINSTIEGSPUNKT ["java","-cp","app:app/lib/*","com.xiang.airTicket.AirTicketApplication"] Docker-Compose integrierte Projektdienste Nachdem Sie die Konstruktion des Spring-Boot-Containers abgeschlossen haben, können Sie
Datei Version: '3.7' # Dienste definieren: # Spring-Boot-Dienst-App-Server: bauen: Kontext: . #Konfigurieren Sie den Pfad zum Erstellen der Docker-Datei relativ zu docker-compose.yml Dockerdatei: Dockerdatei Häfen: - "8080:8080" # Ordnen Sie den lokalen Port 8080 dem Container-Port 8080 zu. Neustart: immer hängt ab von: -db # Die abhängigen Dienste müssen zuerst erstellt werden - redis Umgebung: #Umgebungsvariablen festlegen SPRING_DATASOURCE_URL: jdbc:mysql://db:3306/airTicket?useSSL=false&serverTimezone=UTC&useLegacyDatetimeCode=false SPRING_DATASOURCE_USERNAME: root SPRING_DATASOURCE_PASSWORD: 123456 SPRING_REDIS.HOST: redis Netzwerke: # Netzwerkverbindung MySQL und Redis - Backend db: Bild:mysql:5.6 Häfen: - „3306:3306“ Neustart: immer Umfeld: MYSQL_DATABASE: Flugticket MYSQL_USER: htx MYSQL_PASSWORD: 123456 MYSQL_ROOT_PASSWORD: 123456 Bände: -db-data:/var/lib/mysql Netzwerke: - Backend Redis: Bild: Redis Befehl: [ "Redis-Server", "--protected-mode", "no" ] Hostname: Redis Häfen: - „6379:6379“ Netzwerke: - Backend Bände: DB-Daten: Netzwerke: Backend: Verwenden Sie Starten Sie den Container mit Wenn Sie das Protokoll des erfolgreichen Spring-Boot-Starts sehen, war die Konfiguration erfolgreich. Nachverfolgen Dieses Mal habe ich nur das Backend erstellt. Ich hoffe, auch das Frontend Referenzlink: Beispiel für die Docker-Zusammenstellung von Spring Boot, Mysql und React Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird. Das könnte Sie auch interessieren:
|
<<: Vue verwendet drei Methoden zum Aktualisieren der Seite
>>: Ursachen und Lösungen für Verzögerungen bei der MySQL-Master-Slave-Synchronisierung
Dieser Artikel stellt hauptsächlich die Prozessan...
Installationsvorschlag : Versuchen Sie, für die I...
1. Umgebungsversion Docker-Version 19.03.12 cento...
In diesem Artikelbeispiel wird der spezifische Co...
1. Reverse-Proxy-Beispiel 1 1. Erzielen Sie den E...
Inhaltsverzeichnis 1. Erstellen Sie eine Tabelle ...
Beim Importieren von Daten mit falscher MySQL-Zei...
Vorwort Bei der Arbeit müssen wir häufig in einer...
Frage: Als ich kürzlich an Projektstatistiken arb...
Löschen einer Datei anhand ihrer Inode-Nummer Ver...
Bei einem unserer Webprojekte ist aufgrund der Zu...
Das Raspberry Pi-Modell ist 4b, 1 G RAM. Das Syst...
1. Befehlseinführung Mit dem Befehl passwd werden...
Überprüfen Sie zunächst, ob das Festplattengerät ...
In diesem Artikel wird der Beispielcode einer CSS...