在Dockerfile中使用指令ENTRYPOINT来执行项目下entrypoint.shshell文件,如下:

ENTRYPOINT ["./entrypoint.sh"]

时报错提示:

Exec: "./entrypoint.sh": permission denied

很明显问题在于用户没有文件的执行权限。

 

解决方法有两种:

  1. 赋予shell文件可执行权限

    RUN chmod +x entrypoint.sh

     

  2. sh作为ENTRYPOINT数组的第一个参数(推荐)

    ENTRYPOINT ["sh", "./entrypoint.sh"]

     

推荐使用第二种方式,因为不需要再额外去执行chmod

 

原文地址:http://www.fidding.me/article/100

转载于:https://www.cnblogs.com/soymilk2019/p/11571810.html

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐