dockerfile - 运行 docker 容器时文件上的“权限被拒绝”
问题描述
我有一个无法编辑但需要在 docker 容器中运行的文件。因为该文件没有扩展名,所以我必须使用 chmod 来设置文件可执行文件。但是在我从 docker 文件构建 docker 映像后,我总是得到一个"permission denied" error
我的码头文件:
FROM alpine
COPY . /home/guestuser/bin/gateway
RUN apk add libressl-dev
RUN apk add libffi-dev
RUN pwd
WORKDIR /home/guestuser/bin/.
RUN ["chmod", "+x", "gateway"]
RUN pwd
CMD ["/home/guestuser/bin/gateway"]
EXPOSE 11878
我总是收到此错误:
docker: Error response from daemon: OCI runtime create failed: container_linux.go:349: starting container process caused "exec: \"/home/guestuser/bin/gateway\": permission denied": unknown.
正如我已经提到的,我无法编辑我想要执行的文件。我究竟做错了什么?
解决方案
你可以试试这个简单的。
FROM alpine
COPY . /home/guestuser/bin/gateway
RUN apk add libressl-dev
RUN apk add libffi-dev
WORKDIR /home/guestuser/bin/
RUN chmod -R 755 /home/guestuser
CMD ["/bin/bash", "/home/guestuser/bin/gateway"]
否则,运行 sleep 命令登录到容器并手动查看命令是否有效
推荐阅读
- html - 如何选择偶数行并排除最后一列
- node.js - 如何在使用express的nodejs响应后退出?
- python - 过滤从 html 网站中提取的 Web 链接
- wso2 - 基于主机头限制 WSO2 中的 API
- asp.net-core - 如何修复 .NET CORE 3.0.100-preview7-012821 中的 myget.org 授权问题?
- java - Orika 映射器,当其中一个属性是一个枚举时,这两个类具有不同的支持值
- mysql - 为什么来自 python 的 MySQL 调用会报告 SQL 错误?
- android - 在 sharedPref.getString 中有一个默认值有什么意义?
- python - 如何遍历返回二维数组的第三个数组维度
- c# - 如何将 SAML 身份验证添加到 MVC 应用程序