docker导出容器,新增的jar文件导出后为0KB
用docker导出容器,我在容器里 /home/app/ 目录下上传了一份34M的kafkaTest.jar文件,
导出以后发现/home/app/ 目录下kafkaTest.jar文件大小为0 KB
拷贝到其他服务器在容器运行时提示
docker run -i -t --name kafkaTest2 java:8ulll java -jar /home/app/kafkaTest.jar
Error: Invalid or corrupt jarfile /home/app/kafkaTest.jar
怎么解决这个问题呢?
自己写一个Dockerfile,把jar包传上去,build成新的镜像,然后再启动。看一下jar是否正常运行了,有可能是你上传的有问题。
From java
维护者信息
MAINTAINER xxx "xxx@xx.com"
工作路径
WORKDIR /home/app/
拷贝jar包到容器指定路径
ADD /xxx/xxx/kafkaTest.jar kafkaTest.jar
暴露的端口号
EXPOSE 8080
启动jar包
ENTRYPOINT ["java", "-jar", "my.jar"]
app文件夹是内部的文件夹还是外部mount的? 如果是mount的是没用的
老哥,针对你的问题有两个要点:
1. 从截图中看,你的容器已经退出了,它的文件系统可能已经释放了。建议,在容器未退出前export导出, 或者commit成新镜像,然后save导出。
2. 但是对于你的情况,完全没啥必要强行把.jar打包到镜像,直接使用时mount到/home/app目录下就OK了。
docker -v $host_path:$container_path用于mount主机文件