【问题标题】:Can't connect to Azure SQL server using docker无法使用 docker 连接到 Azure SQL 服务器
【发布时间】:2019-11-19 23:49:09
【问题描述】:

我是 docker 新手,我似乎无法弄清楚这一点......

我有一个连接到 Azure sql 数据库的 Spring Boot 应用程序,该数据库在我的 IDE 中运行良好,但是在 docker 容器中运行我的应用程序时出现以下错误:

"com.microsoft.sqlserver.jdbc.SQLServerException: 到主机的 TCP/IP 连接,端口 1433 失败。错误:".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

【问题讨论】:

    标签: sql-server spring-boot docker azure-sql-database


    【解决方案1】:

    这将是一个网络连接问题。

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

    【讨论】:

    • 感谢您的反馈,您知道如何解决吗?
    • 首先在 docker 容器中使用 tracert 以确保您有到服务器 IP 地址的路由。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-23
    • 1970-01-01
    • 1970-01-01
    • 2018-12-20
    相关资源
    最近更新 更多