项目打包上传镜像成功,但是容器启动失败,报错/usr/local/bin/xxx.sh: No such file or directory。
开始了艰难的排查之路...
首先检查dockerfile文件xxx.sh的路径是否正确,文件是否存在。检查后没问题。
然后猜想是不是ADD没有权限,检查了下,是以root权限执行的。
中间尝试了创建/usr/local/bin/文件夹,又尝试了添加了权限,都不行。
然后接下来就是百度,大量的百度...
找到了原因。
原因:我本地开发在windows,打包上传镜像执行脚本在ubuntu,同一文件在windows和linux环境下格式不一,造成了在linux下文件找不到的问题。
解决:vim xxx.sh文件,set ff查看是dos还是unix,执行set ff=unix保存即可。