【发布时间】:2019-02-18 02:32:03
【问题描述】:
我通过 Docker 设置了一个 Mysql 服务器,在我的 IDE 中运行我的微服务时一切正常,我能够通过 连接到我的数据库
spring.datasource.url= jdbc:mysql://docker:3079/vetdb?useSSL=false
现在我想通过 Docker 测试部署我的微服务
Docker 编写
version: '3'
services:
vetdb:
container_name: vetdb
hostname: vetdb
image: mysql:latest
command: --default-authentication-plugin=mysql_native_password
environment:
- MYSQL_ROOT_PASSWORD=root
- MYSQL_DATABASE=vetdb
- MYSQL_PASSWORD=root
ports:
- 3079:3306
volumes:
- ./mysql-data:/var/lib/mysql
VET:
hostname: ${VET_HOSTNAME}
container_name: ${VET_HOSTNAME}
image: openjdk:8-jdk-alpine
ports:
- "${VET_PORT}:8080"
volumes:
- "/dockervolumes/microservices/VET/tmp:/tmp"
- "./jar:/jar"
entrypoint:
- "java"
- "-Djava.security.egd=file:/dev/./urandom"
- "-jar"
- "/jar/${VET_JAR_NAME}.jar"
depends_on:
- vetdb
links:
- vetdb:vetdb
因此我更改了数据源网址
spring.datasource.url= jdbc:mysql://vetdb:3079/vetdb?useSSL=false
现在当我运行docker-compose up --build 时,我得到Caused by: java.net.ConnectException: Connection refused (Connection refused)
Application.Properties
spring.jpa.hibernate.ddl-auto=update
spring.datasource.url= jdbc:mysql://vetdb:3079/vetdb?useSSL=false
spring.datasource.username=root
spring.datasource.testWhileIdle = true
spring.datasource.validationQuery = SELECT 1
spring.datasource.password=root
spring.datasource.driverClassName=com.mysql.jdbc.Driver
spring.datasource.platform=mysql
我对 Docker 还很陌生,我希望有人可以帮助我。 对不起我糟糕的英语
提前打个招呼
编辑 感谢@David Maze 的解决方案! spring.datasource.url=jdbc:mysql://vetdb:3306/vetdb?useSSL=false
Docker 编写
version: '3'
services:
vetdb:
container_name: vetdb
hostname: vetdb
image: mysql:latest
command: --default-authentication-plugin=mysql_native_password
environment:
- MYSQL_ROOT_PASSWORD=root
- MYSQL_DATABASE=vetdb
- MYSQL_PASSWORD=root
volumes:
- ./mysql-data:/var/lib/mysql
VET:
hostname: ${VET_HOSTNAME}
container_name: ${VET_HOSTNAME}
image: openjdk:8-jdk-alpine
ports:
- "${VET_PORT}:8080"
volumes:
- "/dockervolumes/microservices/VET/tmp:/tmp"
- "./jar:/jar"
entrypoint:
- "java"
- "-Djava.security.egd=file:/dev/./urandom"
- "-jar"
- "/jar/${VET_JAR_NAME}.jar"
depends_on:
- vetdb
【问题讨论】: