我的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
任何提示或建议都非常受欢迎!
答案 0 :(得分:2)
将目录从主机装载到容器后,容器目录的所有内容都将替换为主机目录的内容。
在您的情况下,这意味着在构建阶段先前添加的文件999
消失了,因为启动容器时实际上覆盖了包含目录。您的入口点需要该文件,但找不到该文件,并退出并显示错误。
如果要将文件从容器共享到主机,则必须使用另一个已安装的目录,该目录在容器中为空,并在启动后将容器内的文件复制到该文件夹。
如果只想复制一次文件,则可以使用docker /opt/springboot/app.jar
命令:
cp