【发布时间】:2026-02-04 16:15:01
【问题描述】:
我正在尝试为 Garry's Mod 服务器创建一个易于使用的 Docker 映像。虽然我的 Docker 映像构建得很好,但将其作为容器运行总是会导致一个错误:/bin/sh: 1: ./easygmod.sh: Permission denied。
我使用cm2network/steamcmd 图像作为基础。我已经尝试了上述基本图像具有的两个标签。我尝试过chmod +x,将用户更改为root,并摆弄easygmod.sh 脚本第一行中的shebang,以及一些可能的拼写错误,尤其是在文件名和路径中。
我有这个项目的GitHub repositoryauto-builds to Docker Hub。目前,涉及问题脚本的代码行是:
# Start main script
ADD easygmod.sh .
RUN chmod +x easygmod.sh
USER steam
CMD ./easygmod.sh
另外,脚本的 shebang/第一行当前是 #!/bin/sh。
尽管没有逻辑解释,easygmod.sh 脚本拒绝执行,总是抛出错误Permission denied。这尤其令人困惑,因为my only other public GitHub project 非常相似(与cm2network/steamcmd 具有相同基本操作系统的类似风格的 Docker 映像)从未出现过这样的问题。
【问题讨论】:
-
在主机上运行
chmod +x easygmod.sh。此外,您将该文件作为 USER 添加为 root 之后。
标签: docker dockerfile sh steam garrys-mod