我无法将Docker的文件系统挂载到主机的文件系统

时间:2018-10-05 13:27:48

标签: docker

我的docker镜像正在使用以下命令成功运行

docker run -p 8080:8080 -t springboot/spring-boot-docker

但是我想将docker文件系统挂载到主机的文件系统,如下所示 失败了

docker run  -v /home/opt/springboot:/opt/springboot -p 8080:8080 -t springboot/spring-boot-docker

错误消息是

Error: Unable to access jarfile /opt/springboot/app.jar

我的主机系统是linux @ AWS的ECS

我的docker文件如下所示

FROM openjdk:8-jdk-alpine
ADD springboot-1.0.jar /opt/springboot/app.jar
ENTRYPOINT ["java","-jar","/opt/springboot/app.jar"]
EXPOSE 8080

任何提示或建议都非常受欢迎!

1 个答案:

答案 0 :(得分:2)

将目录从主机装载到容器后,容器目录的所有内容都将替换为主机目录的内容。

在您的情况下,这意味着在构建阶段先前添加的文件999消失了,因为启动容器时实际上覆盖了包含目录。您的入口点需要该文件,但找不到该文件,并退出并显示错误。

如果要将文件从容器共享到主机,则必须使用另一个已安装的目录,该目录在容器中为空,并在启动后将容器内的文件复制到该文件夹​​。

如果只想复制一次文件,则可以使用docker /opt/springboot/app.jar命令:

cp