微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

启动容器进程导致 \"exec: \\\\\"/app/start_combined_collector.sh\\\\": permission denied\": unknown'\n\nERROR:

如何解决启动容器进程导致 \"exec: \\\\\"/app/start_combined_collector.sh\\\\": permission denied\": unknown'\n\nERROR:

错误信息是

Cannot start service nonJira_Processor: b'OCI runtime create Failed: container_linux.go:345: starting container process caused \"exec: \\\\\"/app/start_combined_collector.sh\\\\\": permission denied\": unkNown'\n\nERROR: for nonJira_Processor

这是我的 dockerfile

ADD processors/nonjira_combined_processor_docker/start_combined_collector.sh start_combined_collector.sh
RUN chmod +x /app/start_combined_collector.sh
RUN ls -lrt
ENTRYPOINT ["/app/start_combined_collector.sh"]
CMD ["inputs"]

在 start_combined_collector.sh 中

#!/bin/sh

java -jar $1.jar --spring.config.location=/app/properties/$1.properties

我已经更改了 RUN ["chmod","+x","/app/start_combined_collector.sh"] 但知道使用我的 start_combined_collector.sh 有什么问题,因为我试图给 chmod +x 和 777 权限,但是仍然说权限被拒绝

提前致谢

解决方法

感谢大家的回复,我解决了问题,因为我正在将 shell 脚本复制到挂载到卷的容器的应用程序目录中,我发现 RUN 命令如果挂载到卷将不会执行任何操作,所以我将 shell 脚本复制到另一个名为 script 的目录并运行它 在 dockerfile 之前

VOL /app
COPY start_combined_collector.sh **/app**
RUN chmod +x start_combined_collector.sh

之后

VOL /app
COPY start_combined_collector.sh **/script**
RUN chmod +x start_combined_collector.sh

因为这次我将 start_combined_collector.sh 复制到未安装到 VOL 的脚本目录中,它可以工作

,

消除 shell 脚本步骤并仅在 Dockerfile 中尝试此操作:

ENTRYPOINT [java]
CMD ["-jar","inputs.jar","--spring.config.location=/app/properties/inputs.properties"]

如果它有效,这将确认问题肯定与 shell 脚本有关。然后将 Dockerfile 更新为此并重试:

COPY ./processors/nonjira_combined_processor_docker/start_combined_collector.sh /app/
ENTRYPOINT ["/bin/bash","/app/start_combined_collector.sh"]
CMD ["inputs"]

如果错误仍然存​​在,则共享整个 Dockerfile

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。