我这里记录的是我遇到的一种特殊情况,如果你也遇到了这个问题,且都试了在百度中找到的解决方法还没有解决可以看看是不是和我遇到的问题一样。
在Dockerfile中,我ADD了两个文件,一个是jar包,一个是一个执行jar包的.sh文件
# 项目工作目录
ENV base_dir /home/admin-server/deploy
WORKDIR /
# 添加jar包到docker中
ADD giraffe-manor-admin.jar $base_dir/server/admin-manager.jar
ADD run_admin_server.sh $base_dir/server/run_admin_server.sh
但是在使用命令:
docker run -it -d -p 8087:8087 -v /home/server/giraffe/deploy:/home//admin-server/deoply admin-manager:1.12
就会提示
/bin/sh: 0: cannot open /home/admin-server/server/run_admin_server.sh: No such file
后来发现是挂载点的问题,在run命令中设置的挂载目录/home//admin-server/deoply和ADD的目录重复了,因为在run中挂载的目录在每次启动docker是都会删除重新创建,所以我在dockerfile中ADD的文件就被覆盖删除了。