Docker容器运行launch.sh文件时Permissi

发布时间:2020-02-25 08:39:50 作者:wx5b3c0a4298f7b
来源:网络 阅读:265

运行./*.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工具




推荐阅读:
  1. docker学习-docker容器运行
  2. 如何docker容器运行web应用?

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

docker容器 sh脚本permissiondenie 阿里云镜像服务

上一篇:操作系统--主引导程序的扩展

下一篇:postgreSQL主从复制

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》