Ugu*_*tun 4 java mysql spring docker spring-boot
我有一个Spring Boot应用程序和dockerized mysql db。我的Docker容器启动了,下面是docker ps命令的结果。
cf7936857c6f mysql:5.6 "docker-entrypoint.s…" 7 minutes ago Up 7 minutes 3306/tcp mysql-standalone
Run Code Online (Sandbox Code Playgroud)
应用程序属性文件配置在这里;
spring.datasource.url = jdbc:mysql:// mysql-standalone:3306 / test
spring.datasource.username = sa
spring.datasource.password =密码
我已经像这样运行mysql docker容器
docker run --name mysql-standalone -e MYSQL_ROOT_PASSWORD=password -e MYSQL_DATABASE=test -e MYSQL_USER=sa -e MYSQL_PASSWORD=password -d mysql:5.6
Run Code Online (Sandbox Code Playgroud)
当我尝试在IDE上启动spring boot应用程序时,我遇到了
java.net.UnknownHostException:mysql独立
我的属性文件中是否缺少任何配置?
由于这不是容器到容器的通信,因此必须将MySQL端口绑定到主机中的端口:
docker run -p 3306:3306 --name mysql-standalone -e MYSQL_ROOT_PASSWORD=password -e MYSQL_DATABASE=test -e MYSQL_USER=sa -e MYSQL_PASSWORD=password -d mysql:5.6
^^^^^^^^^^^^
Run Code Online (Sandbox Code Playgroud)
并指向localhost:
spring.datasource.url = jdbc:mysql://localhost:3306/test
Run Code Online (Sandbox Code Playgroud)
运行 mysql 容器,暴露端口,如下所示。
docker run --name mysql-standalone -e MYSQL_ROOT_PASSWORD=密码 -e MYSQL_DATABASE=test -e MYSQL_USER=sa -e MYSQL_PASSWORD=密码 -p 3306:3306 -d mysql:5.6
在你的 spring bootapplication.properties文件中,修改如下。
spring.datasource.url = jdbc:mysql://localhost:3306/test?useSSL=false
不要忘记添加useSSL=false,否则您可能会收到以下错误。
Spring Boot: Jdbc javax.net.ssl.SSLException: closing inbound before receiving peer's close_notify
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1367 次 |
| 最近记录: |