- 执行 Docker 命令 提示 permission denied
- docker命令permission denied
- docker容器启动报错Permission denied
- Docker容器内Permission denied解决方法
- docker: Error response from daemon: OCI runtime create failed: container_linux.go:349: starting container process caused “exec: “/usr/local/tomcat/bin/catalina.sh”: permission denied”: unknown.
转自:https://lingkang.top/archives/docker-zhong-bao-permissiondenied-cuo-wu
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WimXPBA2-1684919670708)(/upload/2023/05/image-1684919040776.png)]
首先观察一下我的Dockerfile
FROM adoptopenjdk/openjdk8:ubi
# 工作目录
WORKDIR /usr/local
# 加入tomcat
COPY apache-tomcat-9.0.75 /usr/local/tomcat
ENV TZ=Asia/Shanghai
EXPOSE 8080
CMD chmod 777 /usr/local/tomcat/bin/*.sh
#启动时运行tomcat
CMD ["/usr/local/tomcat/bin/catalina.sh","run"]
这是由于启动docker时使用的用户不是root导致 CMD chmod
无效,将CMD chmod 777
改为 RUN chmod 777
即可
解决
将添加全选的 CMD chmod 777 /usr/local/tomcat/bin/*.sh
改为RUN chmod 777 /usr/local/tomcat/bin/*.sh
PS 此方法只适用于非挂载宿主机目录,挂载宿主机目录时需要注意目录权限问题
文章来源:https://www.toymoban.com/news/detail-552264.html
RUN
与CMD
的执行时机不同,RUN
是在构建镜像时执行,属于root权限。CMD
是在运行镜像时执行,此时会受到运行用户权限管控文章来源地址https://www.toymoban.com/news/detail-552264.html
到了这里,关于docker中报permission denied错误的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!