Hãy thử docker-compose.yml
này :
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"
Và cập nhật application.properties
của bạn để sử dụng url kết nối JDBC tiếp theo:
spring.datasource.url=jdbc:mysql://workaround-mysql:3306/workaround?serverTimezone=UTC&max_allowed_packet=15728640
Nó sẽ hoạt động khi cả hai vùng chứa trong cùng một tệp docker-compile, bởi vì docker-compo tạo mạng mặc định cho các vùng chứa, vì vậy chúng có thể phân giải nhau theo tên.