Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 从另一个容器spring boot连接到docker容器中的mysql_Sql Server_Spring Boot_Docker - Fatal编程技术网

Sql server 从另一个容器spring boot连接到docker容器中的mysql

Sql server 从另一个容器spring boot连接到docker容器中的mysql,sql-server,spring-boot,docker,Sql Server,Spring Boot,Docker,我已经创建了一个实际工作的sql server容器。我已经尝试将我的spring boot应用程序连接到它,并且它可以正常工作 现在,我正在尝试构建spring boot应用程序: docker build -f Dockerfile -t mySBApi . 完成了 然后,我尝试运行它: docker run -p 8080:8080 mySBApi 我有一个信息: 成功发送到服务器的最后一个数据包为0毫秒 以前驱动程序尚未从服务器收到任何数据包 这是我的.属性: spring.data

我已经创建了一个实际工作的sql server容器。我已经尝试将我的spring boot应用程序连接到它,并且它可以正常工作

现在,我正在尝试构建spring boot应用程序:

docker build -f Dockerfile -t mySBApi .
完成了

然后,我尝试运行它:

docker run -p 8080:8080 mySBApi 
我有一个信息:

成功发送到服务器的最后一个数据包为0毫秒 以前驱动程序尚未从服务器收到任何数据包

这是我的.属性:

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容器,我就不能使用它。。。。。您对此有何看法?

好的,我最终更改了解决方案,并使用容器的ip而不是localhost或容器的名称

以防有人因为sql server出现问题而来到这里:

我在配置它时遇到了很多问题,试图从SSMS登录,遇到了很多挫折。 不要问我为什么,当我决定停止本地机器上的sql server时,一切都在5分钟内完成了

因此,如果有帮助的话,我的步骤是:

1-停止sql server 2-创建sql容器 3-尝试从外部docker连接到它(使用intelliJ) 4-推动中间容器并调整docker的.properties


在不到2分钟的时间里,我就被推了一下,真高兴

以下解决方案也可能有所帮助


看起来这些容器之间没有链接。您可以在运行spring引导容器时使用--link并将其链接到mysql容器。示例:docker run--name mySBApi--link mysqlContainer-p8080:8080 mySBApiOh我没有看到这个方法。非常感谢,这肯定会有帮助的。目前,我只有一个中间和一个正面,但我必须把它们分成10个微服务。。。再次感谢