Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.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 Can';无法使用docker连接到Azure SQL server_Sql Server_Spring Boot_Docker_Azure Sql Database - Fatal编程技术网

Sql server Can';无法使用docker连接到Azure SQL server

Sql server Can';无法使用docker连接到Azure SQL server,sql-server,spring-boot,docker,azure-sql-database,Sql Server,Spring Boot,Docker,Azure Sql Database,我是docker的新手,我似乎无法理解这一点 我有一个spring boot应用程序连接到azure sql数据库,该数据库在我的IDE中运行良好,但在docker容器中运行我的应用程序时,我遇到以下错误: com.microsoft.sqlserver.jdbc.SQLServerException:到主机端口1433的TCP/IP连接失败。错误:“.database.windows.net”。验证连接属性。确保SQL Server实例正在主机上运行,并在端口接受TCP/IP连接。确保到端口的

我是docker的新手,我似乎无法理解这一点

我有一个spring boot应用程序连接到azure sql数据库,该数据库在我的IDE中运行良好,但在docker容器中运行我的应用程序时,我遇到以下错误:

com.microsoft.sqlserver.jdbc.SQLServerException:到主机端口1433的TCP/IP连接失败。错误:“.database.windows.net”。验证连接属性。确保SQL Server实例正在主机上运行,并在端口接受TCP/IP连接。确保到端口的TCP连接未被防火墙阻止。“

Dockerfile:


COPY pom.xml /build/

COPY src /build/src/

WORKDIR /build/

RUN mvn package

FROM openjdk:8-jre-alpine

WORKDIR /app

ADD target/spring-boot-docker.jar /app/

ENTRYPOINT ["java", "-jar", "spring-boot-docker.jar"]
application.properties:

spring.jpa.hibernate.ddl-auto=update
server.port=8081

spring.datasource.url=jdbc:sqlserver://<hidden>.database.windows.net:1433;database=<hidden>;user=<hidden>;password={your_password_here};encrypt=true;trustServerCertificate=false;hostNameInCertificate=*.database.windows.net;loginTimeout=30;
spring.datasource.username=<hidden>
spring.datasource.password=<passhidden>
spring.datasource.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver
spring.jpa.hibernate.ddl auto=update
server.port=8081
spring.datasource.url=jdbc:sqlserver://.database.windows.net:1433;数据库=;用户=;密码={your_password_here};加密=真;信任服务器证书=假;主机名incertificate=*.database.windows.net;loginTimeout=30;
spring.datasource.username=
spring.datasource.password=
spring.datasource.drivercassname=com.microsoft.sqlserver.jdbc.SQLServerDriver

这将是一个网络连接问题


您很有可能无法从docker容器中从服务器上的动态内部端口到端口1433。

感谢您的反馈,您知道如何修复它吗?从docker容器中使用tracert开始,以确保您有到服务器IP地址的路由。