Auf dem lokalen Rechner habe ich Docker installiert. Erstellt eine Docker-Datei und docker-compose.yml im Stammordner des Projekts. Einige Fehler, die ich in diesen Dateien gemacht habe. Ich denke, dass die Kommunikation, wie ich sie verstehe, zwischen der Datenbank und meiner Anwendung nicht funktioniert.
Vielleicht stimmt etwas mit MYSQL_ROOT_PASSWORD nicht, weil ich das Passwort von MYSQL_ROOT_PASSWORD wirklich nicht kenne. Ich kenne nur Benutzernamen und Passwort. Ich führe MySQL mit MySQLWorkbanch aus, ich erstelle hier eine Verbindung mit dem Namen „my_connection“, es gibt einen Benutzer mit dem Namen „bestuser“ und einen Login mit „bestuser“.
[Bildbeschreibung hier eingeben][1]
Dies ist meine Projektstruktur
[Bildbeschreibung hier eingeben][2]
Ich habe versucht, Ports zu kombinieren, 8080:8080, 8081:8080, 3306:3306, 3307:3306.. Aber nichts.
MySQL-Image läuft gut, aber App-Image weist viele Fehler auf.
[Bildbeschreibung hier eingeben][3]
application.properties
Code: Select all
spring.datasource.url=jdbc:mysql://localhost:3306/crm?useSSL=false
spring.datasource.username=bestuser123
spring.datasource.password=bestuser123
#spring.datasource.password=######
spring.sql.init.mode=always
#spring.datasource.initialization-mode=always
#server.port=8080
#spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
#spring.jms.listener.acknowledge-mode=auto
info.name=CRM system. Accounting for sales, merchandise, payroll
info.description=CRM system. Accounting for sales, merchandise, payroll
spring.view.prefix:/WEB-INF/
spring.view.suffix:.jsp
spring.view.view-names:views/*
#spring.thymeleaf.prefix=/webapp/WEB-INF/
#spring.thymeleaf.view-names:views/*
#management.endpoints.web.exposure.include=*
#spring.mvc.view.prefix: /WEB-INF/views/
#spring.mvc.view.suffix: .jsp
#spring.thymeleaf.suffix=.html
#spring.thymeleaf.prefix=classpath:/templates/
# ==============================================================
# = Keep the connection alive if idle for a long time (needed in production)
# ==============================================================
spring.datasource.testWhileIdle = true
spring.datasource.validationQuery = SELECT 1
# ==============================================================
# = Show or not log for each sql query
# ==============================================================
#spring.jpa.show-sql = true
# ==============================================================
# = Hibernate ddl auto (create, create-drop, update)
# ==============================================================
spring.jpa.hibernate.ddl-auto = update
# ==============================================================
# = The SQL dialect makes Hibernate generate better SQL for the chosen database
# ==============================================================
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect
spring.main.allow-circular-references=true
Code: Select all
version: '3.7'
# Define services
services:
# App backend service
app-server:
# Configuration for building the docker image for the backend service
build:
context: . # Use an image built from the specified dockerfile in the `springboot-app-server` directory.
dockerfile: Dockerfile
ports:
- "8081:8080" # Forward the exposed port 4000 on the container to port 4000 on the host machine
restart: always
depends_on:
- db # This service depends on mysql. Start that first.
environment: # Pass [url=viewtopic.php?t=25360]environment[/url] variables to the service
SPRING_DATASOURCE_URL: jdbc:mysql://localhost:3306/crm?useSSL=false
SPRING_DATASOURCE_USERNAME: bestuser123
SPRING_DATASOURCE_PASSWORD: bestuser123
# Database Service (Mysql)
db:
image: mysql:8.0
ports:
- "3307:3306"
restart: always
environment:
MYSQL_DATABASE: crm
MYSQL_USER: bestuser123
MYSQL_PASSWORD: bestuser123
MYSQL_ROOT_PASSWORD: bestuser123
Code: Select all
# Use a Java base image
FROM openjdk:11
# Set the working directory
WORKDIR /
# Copy the application jar to the container
COPY target/crm-0.0.1-SNAPSHOT.war .
EXPOSE 8080
# Set the [url=viewtopic.php?t=25360]environment[/url] variables
ENV JAVA_OPTS=""
# Define the command to run the application
CMD ["java", "-jar", "crm-0.0.1-SNAPSHOT.war"]
Mobile version