如何处理 docker 中已部署的 spring 云应用程序访问共享文件写入和读取的问题?
How I can deal with the problem of deployed spring cloud application in docker accessing shared files write and read?
我在docker.The部署了spring云应用spring云应用使用访问图片file.When我在spring部署了云应用docker通过 docker 文件。在本地开发环境下,可以访问图片file.When 我在docker部署应用,投bug.It显示spring云应用找不到文件hos台电脑。我需要怎样处理这个问题?
我已经尝试将 host 计算机图片文件复制到 docker 卷路径。但是不行。
我的host电脑我的应用yml文件中的图片文件路径是这样的
originImgPath: /tmp/tcps/klanalyze/originImg
captchaImgPath: /tmp/tcps/klanalyze/captchaImg
保存在host电脑路径下的图片是这样的
/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云版本是Finchley.SR1。
我的Spring引导版本是2.0.3.RELEASE.
我的host电脑是cent-os7.
看来您需要使用 -v 将您的主机直接挂载到 /tmp 卷。
docker 运行 -v /tmp:/tmp image_name
疑虑:
关于"copy the host computer picture file to docker volumne path"
不是很有道理
在此处输入您的 docker 运行 命令,这样我们就可以看到您如何 运行 容器
我在docker.The部署了spring云应用spring云应用使用访问图片file.When我在spring部署了云应用docker通过 docker 文件。在本地开发环境下,可以访问图片file.When 我在docker部署应用,投bug.It显示spring云应用找不到文件hos台电脑。我需要怎样处理这个问题?
我已经尝试将 host 计算机图片文件复制到 docker 卷路径。但是不行。
我的host电脑我的应用yml文件中的图片文件路径是这样的
originImgPath: /tmp/tcps/klanalyze/originImg
captchaImgPath: /tmp/tcps/klanalyze/captchaImg
保存在host电脑路径下的图片是这样的
/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云版本是Finchley.SR1。
我的Spring引导版本是2.0.3.RELEASE.
我的host电脑是cent-os7.
看来您需要使用 -v 将您的主机直接挂载到 /tmp 卷。
docker 运行 -v /tmp:/tmp image_name
疑虑:
关于"copy the host computer picture file to docker volumne path"
不是很有道理
在此处输入您的 docker 运行 命令,这样我们就可以看到您如何 运行 容器