sql-server - 从另一个容器 spring boot 连接到 docker 容器中的 mysql
问题描述
我创建了一个实际工作的 sql server 容器。我试图将我的 spring boot 应用程序连接到它并且它工作正常。
所以现在,我正在尝试构建 Spring Boot 应用程序:
docker build -f Dockerfile -t mySBApi .
完毕。
然后,我正在尝试运行它:
docker run -p 8080:8080 mySBApi
我有这个消息:
最后一个成功发送到服务器的数据包是 0 毫秒前。驱动程序没有收到来自服务器的任何数据包。
这是我的 .properties:
spring.datasource.url=jdbc:sqlserver://localhost;databaseName=mySBApi
spring.datasource.username=SA
spring.datasource.password=srongPASSWORD75*
spring.datasource.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver
以防万一我的Dockerfile:
FROM openjdk:15
ADD target/mySBApi-0.0.1-SNAPSHOT.jar mySBApi.jar
EXPOSE 8080
ENTRYPOINT ["java", "-jar", "mySBApi.jar"]
另一点:如果我尝试使用它从 docker 连接到数据库,它也可以工作 '-' :
docker exec -it sqlserver /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P strongPASSWORD75*
所以,我可以使用 docker 外部的 sql 容器,但如果我运行我的 spring boot 容器,它可以在外部完美运行......你怎么看?
解决方案
推荐阅读
- c# - 用 LINQ 合并两个 IEnumerable
- .net - Azure Pipelines - VS 测试任务在提供筛选条件时失败
- swift - 为什么反射不适用于可选类型?
- javascript - 为什么我的对象的值是函数而不是字符串?
- python - 在 numpy 数组中追加函数
- r - 如何在 R 中将矩阵的两列与其他两列进行比较并同时生成一个新矩阵?
- ruby-on-rails - 我找不到的 React.js 组件语法错误(意外令牌)
- reporting-services - SSRS - 子组职位/子报告?
- jira - 在 EazyBi 中,如何做维度名称的子字符串
- snowflake-cloud-data-platform - TSQL 翻译成雪花