Probieren Sie diese docker-compose.yml
aus :
version: '3'
services:
workaround-mysql:
container_name: workaround-mysql
image: mysql
environment:
MYSQL_DATABASE: workaround
MYSQL_USER: springuser
MYSQL_PASSWORD: admin
MYSQL_ROOT_PASSWORD: admin
MYSQL_ROOT_HOST: '%'
ports:
- "3308:3306"
restart: always
workaround:
depends_on:
- workaround-mysql
restart: always
# will build ./docker/workaround/Dockerfile
build: ./docker/workaround
working_dir: /workaround
volumes:
- ./:/workaround
- ~/.m2:/root/.m2
expose:
- "8080"
command: "mvn clean spring-boot:run"
Und aktualisieren Sie Ihre application.properties
um die nächste JDBC-Verbindungs-URL zu verwenden:
spring.datasource.url=jdbc:mysql://workaround-mysql:3306/workaround?serverTimezone=UTC&max_allowed_packet=15728640
Es sollte funktionieren, wenn sich beide Container in derselben Docker-Compose-Datei befinden, da Docker-Compose ein Standardnetzwerk für Container erstellt, sodass sie sich gegenseitig nach Namen auflösen können.