Docker容器运行launch.sh文件时Permissi-创新互联
运行./*.sh脚本文件时出现Permission denied错误的原因通常是权限不够,解决办法是chmod +x *.sh
创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都做网站、成都网站建设、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的德州网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!项目使用阿里云镜像服务自动构建Docker镜像,本地开发环境构建时不能重现问题。
详细排查后发现Dockerfile中CMD调用launch.sh的写法是CMD ["./launch.sh"],问题就出在这里,修改为:CMD ["sh", "launch.sh"],问题解决。原因可能是开发环境使用的Win10没有正确设置.sh文件权限,也可能是镜像服务自动构建时没有正确保留.sh文件权限。
关键还是分享下./launch.sh和sh launch.sh的3个区别:
./*.sh | sh *.sh | |
可执行属性不同 | *.sh文件必须具有可执行属性 | 不必须具有可执行属性 |
执行方式不同 | 使用*.sh脚本文件中第一行指定的命令来解释和执行,通常是:#!/bin/bash | 使用shell工具sh解释和执行 |
兼容性不同 | 不受限于shell工具 | 受限于shell工具 |
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
名称栏目:Docker容器运行launch.sh文件时Permissi-创新互联
新闻来源:http://scyanting.com/article/ddhjjj.html