我是docker的新手,我似乎无法弄清楚这一点...
我有一个与Azure sql数据库连接的spring boot应用程序,该数据库在我的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
答案 0 :(得分:0)
这将是网络连接问题。
很有可能您无法从docker容器内的动态内部端口访问服务器上的动态端口1433。