ich mysql in einem Docker Container ausgeführt haben:Kann nicht auf MySQL mit Frühling in Docker verbinden
docker run -it --name mysql-db -e MYSQL_ROOT_PASSWORD=root \
-e MYSQL_DATABASE=db -e MYSQL_USER=root -e MYSQL_PASSWORD=root mysql:latest
docker start mysql-db
Ich möchte meine Frühling Boot-Anwendung laufen (mit Maven) in einem anderen Docker Behälter:
docker build -t java-app .
docker run -it --name java-app --link mysql-db:mysql -p 8080:8080 java-app
docker start java-app
Aber ich eine Ausnahme erhalten:
verursacht durch: java.net.ConnectException: Connection refused (Verbindung zurückgewiesen)
Mein Dockerfile:
FROM java:8
ADD target/demo-0.0.1-SNAPSHOT.jar /usr/share/demo/demo.jar
ENTRYPOINT ["/usr/bin/java", "-jar", "/usr/share/demo/demo.jar"]
Mein application.yml:
spring:
# General JPA properties
jpa:
show-sql: false
database-platform: org.hibernate.dialect.MySQL57Dialect
# Hibernate Specific properties
hibernate:
ddl-auto: create
properties:
hibernate:
format_sql: false
# DataSource configuration
datasource:
url: jdbc:mysql://mysql:3306/db
username: root
password: root
Was ist mein Problem?
MySQL-Protokolle haben Warnungen über -skip-name-resolve mode
.
Datenbank funktioniert, ich habe es mit beiden Befehlen überprüft. Und dein Rat hat nichts geändert. Aber danke trotzdem. –
Ich habe Ihre Befehle reproduziert und db konnte nicht vollständig initialisiert werden. Sie docker starten wieder, aber nicht sicher, ob es funktioniert db. Wenn Sie meinen docker exec-Befehl ausführen, können Sie Abfragen ausführen wie: SHOW TABLES; ? – odk
Ja, ich kann Abfragen ausführen. –