【发布时间】:2019-08-18 23:01:04
【问题描述】:
我在docker中部署spring cloud应用程序。spring cloud应用程序使用访问图片文件。当我通过dockerfile在docker中部署spring cloud应用程序时。在本地开发环境下,可以访问图片文件。在docker中部署应用时,出现bug,显示spring cloud应用在宿主机上找不到文件。我需要怎样处理这个问题?
我尝试将主机图片文件复制到 docker 卷路径。但它不能工作。
我的应用yml文件中图片文件路径我的主机是这样的。
originImgPath: /tmp/tcps/klanalyze/originImg
captchaImgPath: /tmp/tcps/klanalyze/captchaImg
上位机路径保存的图片是这样的。
/tmp/tcps/klanalyze/originImg
/tmp/tcps/klanalyze/captchaImg
我的docker按包文件是这样的。
FROM jdk-8u191:20190321
MAINTAINER beigai_liyang
VOLUME /tmp
ADD target/klanalyze-gateway-0.0.1-SNAPSHOT.jar app.jar
RUN bash -c 'touch /app.jar'
EXPOSE 8888
ENTRYPOINT [ "java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/app.jar" ]
我的代码是这样的。
//read yml setting
@Autowired
private GatewayProperty gatewayProperty;
public void loadPicture(){
……
//load file
File file = new File(gatewayProperty.getOriginImgPath());
……
}
我的 docker 版本是 17.12.1-ce。
我的 spring cloud 版本是 Finchley.SR1。
我的 Spring Boot 版本是 2.0.3.RELEASE。
我的主机是cent-os 7。
【问题讨论】:
标签: spring-boot docker spring-cloud