在Dockerfile中,使用指令ENTRYPOINT来执行项目下xxx.sh文件,ENTRYPOINT ["./xxx.sh"]
时报错提示:
Exec: "./xxx.sh": permission denied
很明显问题在于用户没有文件的执行权限。
解决方法有两种:
- 赋予shell文件可执行权限
RUN chmod +x xxx.sh
- 将sh作为ENTRYPOINT数组的第一个参数(推荐)
ENTRYPOINT ["sh", "./xxx.sh"]
推荐使用第二种方式,因为不需要再额外去执行chmod