You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker中使用新可执行文件覆盖entrypoint失败问题排查

问题

在GitHub Actions步骤中尝试用新的可执行文件覆盖Docker镜像的entrypoint,执行的命令如下:

- name: run docker
        run: |
          ls -l
          docker run \
          -v $GOOGLE_GHA_CREDS_PATH:/credentials.json \
          -v entrypoint-new:/usr/bin/entrypoint-new \
          --entrypoint /usr/bin/entrypoint-new \
          my-image:latest

执行ls -l可见本地的entrypoint-new文件存在且具备可执行权限:

-rw-r--r-- 1 runner docker 2577 Sep 21 16:57 README.md
-rwxr-xr-x 1 runner docker  100 Sep 21 16:57 entrypoint-new
-rw-r----- 1 runner docker 4056 Sep 21 16:57 gha-creds-12345.json

但运行docker run时提示错误:

exec: "/usr/bin/entrypoint-new": permission denied: unknown.
原因分析
  • Docker挂载语法错误:你写的-v entrypoint-new:/usr/bin/entrypoint-new会被Docker识别为创建或使用名为entrypoint-new的命名卷,而非挂载本地的entrypoint-new文件到容器内。命名卷中的文件和你本地的文件完全无关,自然没有执行权限。
  • 本地ls看到的执行权限只在宿主机生效,容器内实际加载的是命名卷里的无权限文件(或空文件),因此触发权限拒绝错误。
  • 正确的本地文件挂载语法应该指定本地文件的路径(绝对路径或相对路径),比如如果entrypoint-new在当前工作目录,应改为:-v ./entrypoint-new:/usr/bin/entrypoint-new。

内容的提问来源于stack exchange,提问作者pkaramol

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 10:30:54