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