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