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
Die Verwendung von Vue + ElementUI Tree dient zu ...
Neue Funktionen in MySQL 8: Meine persönliche Mei...
Wenn Sie einer Option das Attribut selected = &quo...
border-radius: CSS3 abgerundete Ecken Syntax: bor...
Einführung: In vielen Fällen denken viele Leute, ...
Farbkontrast und Harmonie Unter kontrastierenden ...
Detaillierte Erklärung zur MySQL-Sortierung chine...
Vorwort Vor kurzem habe ich aus beruflichen Gründ...
Hintergrund Wenn die von Tomcat generierte catali...
Oftmals werden Sie auf einen <a>-Tag-Stil st...
Lassen Sie uns über einige Probleme sprechen, die ...
1. Fügen Sie zuerst das ul-Tag im Textkörper hinz...
Python stellt eine Verbindung zu MySQL her, um Da...
In diesem Artikel wird der spezifische JS-Code zu...
Häufig ignorieren wir beim Erstellen der Homepage ...