首页 > 解决方案 > 运行 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.

正如我已经提到的,我无法编辑我想要执行的文件。我究竟做错了什么?

标签: dockerfilechmoddocker-imagedocker-run

解决方案


你可以试试这个简单的。

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 命令登录到容器并手动查看命令是否有效


推荐阅读