如何解决在 google cloud run 上部署示例时出现无效的 ENTRYPOINT 错误
我试图在 gogole cloud run 上部署这个示例(来自教程):
https://github.com/GoogleCloudBuild/gcbapp-dockerfile-example
但它显示Invalid ENTRYPOINT. [name: "XXX" error: "Command \"/helloworld.sh\": invalid mode \"-rw-r--r--\" for /helloworld.sh"
我无法在云运行上部署示例。
解决方法
错误信息是正确的:文件 helloworld.sh
没有执行权限。有几种方法可以解决此问题:
-
您可以通过在运行
chmod 755 helloworld.sh
之前在主机上运行docker build
来在构建映像之前更改文件的权限。 -
您可以向 Dockerfile 添加逻辑以确保文件在容器中具有正确的权限:
FROM alpine COPY helloworld.sh / RUN chmod 755 /helloworld.sh CMD ["/helloworld.sh"]
-
您可以修改
CMD
中的Dockerfile
使文件 权限不再重要:FROM alpine COPY helloworld.sh / CMD ["sh","/helloworld.sh"]
上述任何一种解决方案都可以使容器正确运行。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。