我用Spring Boot和Spring JPA Data制作了一个小应用程序,连接到了一个dockerized的Postgres实例,它运行得非常好。即使我尝试通过'psql'连接到dockerized的Postgres实例,它也可以正常工作。问题出现在我尝试将Spring Boot应用程序的镜像实例dockerize并尝试将其与dockerized postegres实例链接时。我使用的docker命令是:
docker run -it --link mypgcontainerwithpwd:postgres --name postgresclient1 sprinbootjpa
如我之前所提到的,容器mypgcontainerwithpwd正在运行,可以通过本地应用程序或通过psql访问。
psql -p 5555 postgres postgres
在jar包中,我将执行类似于以下的application.properties文件
spring.datasource.url=jdbc:postgresql://localhost:5555/postgres
spring.datasource.username=postgres
spring.datasource.password=password
spring.jpa.generate-ddl=true
在启动阶段,会出现一个异常,打印如下信息:connection refused localhost-> 5555
构建实例的dockerfile如下:
FROM openjdk:8-jdk-alpine
VOLUME /tmp
ADD ./SpringJPA-PostgreSQ-0.0.1.jar app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
我是docker的新手,对于这个问题我没有找到任何解决方法。我在windows 10上运行unix容器。
感谢大家。