主机论坛_虚拟主机_美国主机_美国虚拟主机_云主机技术_全球主机交流聚集地—Web Hosting Talk 中文站

找回密码
立即注册
发新帖

0

收听

5

听众

991

主题
发表于 2022-2-9 14:08:35 | 查看: 100| 回复: 0

运行./*.sh脚本文件时出现Permission denied错误的原因通常是权限不够,解决办法是chmod +x *.sh



项目使用阿里云镜像服务自动构建Docker镜像,本地开发环境构建时不能重现问题。


详细排查后发现DockerfileCMD调用launch.sh的写法是CMD ["./launch.sh"],问题就出在这里,修改为:CMD ["sh", "launch.sh"],问题解决。原因可能是开发环境使用的Win10没有正确设置.sh文件权限,也可能是镜像服务自动构建时没有正确保留.sh文件权限。


关键还是分享下./launch.shsh launch.sh3个区别:

./*.sh
sh *.sh
可执行属性不同
*.sh文件必须具有可执行属性
不必须具有可执行属性
执行方式不同
使用*.sh脚本文件中第一行指定的命令来解释和执行,通常是:#!/bin/bash
使用shell工具sh解释和执行
兼容性不同
不受限于shell工具
受限于shell工具


云专线 海外专线 http://www.vecloud.com

收藏回复 显示全部楼层 道具 举报

您需要登录后才可以回帖 登录 | 立即注册

Archiver|手机版|小黑屋|WebHostingTalk中文站

GMT+8, 2024-5-3 17:35 , Processed in 0.071918 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表