Py学习  »  docker

如何处理docker中部署的spring cloud应用程序访问共享文件的读写问题?

Lee • 4 年前 • 706 次点击  

我在docker中部署了spring cloud应用,spring cloud应用使用访问图片文件,在docker中通过dockerfile部署了spring cloud应用。在本地开发环境中,我可以访问图片文件,当我在docker中部署应用程序时,它会抛出错误,显示spring cloud应用程序在主机上找不到该文件。我需要怎样处理这个问题?

我试图将主机图片文件复制到docker volumne路径。但它不能工作。

我的应用程序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。

我的SpringCloud版本是Finchley.SR1。

我的Spring boot版本是2.0.3.RELEASE。

我的主机是cent os 7。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/52647
 
706 次点击  
文章 [ 1 ]  |  最新文章 4 年前
todaynowork
Reply   •   1 楼
todaynowork    5 年前

似乎需要使用-v将主机直接挂载到/tmp卷。

docker run-v/tmp:/tmp映像名称

关注点:

  1. “将主机图片文件复制到docker volumne路径”不是很有意义

  2. 通过你的docker run命令,我们可以看到你如何运行容器