docker使用entrypoint执行时报permission denied错误

在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

时间: 2024-10-12 04:23:19

docker使用entrypoint执行时报permission denied错误的相关文章

Android Permission denied 错误 ( 附Android权限大全 )

Android Permission denied 错误(附Android权限大全) java.net.SocketException: Permission denied (maybe missing INTERNET permission) 这是一个经典错误, Socket不能对外连接,错误不会被报出,调试的时候,能看到Exception, 这个Exception会有非常多变体. Android默认不同意訪问网络,所以,在AndroidManifest.xml中,须要进行例如以下配置: <u

Hadoop的distcp命令出现Permission denied错误

Hadoop的distcp命令可以实现将文件从一个hdfs文件系统中拷贝到另外一个文件系统中,如下所示: $ bin/hadoop distcp -overwrite hdfs://123.123.23.111:9000/hsd/t_url hdfs://123.123.23.156:9000/data/t_url 正常情况下应该出现如下运行结果: Java HotSpot(TM) 64-Bit Server VM warning: Insufficient space for shared m

execl error: Permission denied 错误解决

在调用execl函数执行一个文件的话要确保:全路径名是正确的,第二个参数必须对应为第一个参数的文件名:最后一个参数是 (char *)NULL :可以直接把第一个参数放在命令行运行来检验.否则会出现 Permission denied 错误.值得注意的是,即使执行的是一个解释器文件,也需要其有可执行权限.(这是在看APUE时遇到的问题) 代码如下(需要解释器文本 testinterp 有执行权限): int main(void) { pid_t pid; if ((pid = fork()) <

sendto() 向广播地址发包返回errno 13, Permission denied错误

http://blog.csdn.net/guanghua2_0beta/article/details/52483916 sendto() 向广播地址发包返回errno 13, Permission denied错误 sendto()向广播地址发包返回errno 13, Permission denied错误 原因:没有设置socket的SO_BROADCAST属性.特别注意:SO_BROADCAST属性要单独设置,一般习惯setsockopt时同时设置多个属性,例如SO_BROADCAST|

通过API获取统计信息时报Access denied错误处理记录

通过API获取HDFS统计信息时报Access denied错误信息,错误信息如下: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.AccessControlException): Access denied for user xusweeter. Superuser privilege is required at org.apache.hadoop.hdfs.server.namenode.FSPermiss

Bash&#160;.&#160;configure&#160;permission&#160;denied错误

当你在Linux(我这里是Ubuntu10.04LTS Desktop)下编译安装某个包的时候,你首先是进入到解压目录然后执行“$ ./configure”的,但是有时候你会发现提示错误,错误提示是这样的: $ ./configure bash: ./configure:权限不够?????? [英文状态下提示的是“bash . /configure permission denied”] 如果你改为执行 $ bash ./configure 那么就没有这个问题了,那为什么会出现这个问题呢?那是因

解决编译时提示/bin/sh: 1: /home/**/custom_app.sh: Permission denied错误

出现如下错误,一般是执行权限不够. /bin/sh: 1: /home/custom_app.sh: Permission denied 解决方法是:cd 到此文件目录,对提示的文件赋予可执行权限或读写权限,我这里提示的是custom_app.sh,所以我就给它赋予权限即可. chmod a+x custom_app.sh

Ubuntu16.04 使用sudo cat EOF 编辑文件,提示Permission denied错误的解决办法

一.执行命令报错 在Ubuntu16.04下,使用如下命令,修改hosts主机文件,居然提示权限错误: [email protected]:~$ sudo cat <<EOF > /etc/hosts127.0.0.1 localhost192.168.1.101 master1192.168.1.102 worker1192.168.1.103 worker2192.168.1.104 worker3EOF-bash: /etc/hosts: Permission denied[ema

记录在shell脚本中使用sudo echo x &gt; 时,抛Permission denied错误

1.场景 在一个非root且带有sudo权限的用户,使用shell脚本(单独手工执行命令不会抛错,是成功的):会抛错 #!/bin/bash -x DNS_SERVER=10.xx.xx.xx; echo "Add DNS Server"; sudo chattr -i /etc/resolv.conf; sudo echo "nameserver $DNS_SERVER" > /etc/resolv.conf; sudo chattr +i /etc/res