首页/云/Docker 容器速查/退出码 126:命令不可执行
本包目录(366 条)
基础命令50 条镜像与构建107 条网络与存储52 条Compose 编排55 条资源与安全50 条
容器排障52 条

退出码 126:命令不可执行

126 表示容器内目标命令存在但无法执行:没有执行权限、格式不对(缺 shebang、二进制与架构不符),或挂载脚本权限位丢失。

Docker 容器速查云更新于 2026-10-12
含义命令无法被调用
典型场景entrypoint 脚本无 +x;拷贝时权限丢失
验证ls -l 与 file 查看权限与格式

示例

示例
docker run --rm -v "$PWD/entry.sh:/entry.sh" alpine /entry.sh
docker run --rm alpine sh -c 'ls -l /entry.sh'
# 修复:chmod +x entry.sh 或在 Dockerfile 里 RUN chmod +x
绑定挂载会保留宿主权限位;COPY 受构建上下文权限影响,两者排查路径不同。

易错点

  • Windows 上挂载的脚本常缺执行位;放进镜像的脚本要在 Dockerfile 里显式 chmod
  • 126 也可能是二进制格式错误,配合 file 与 uname -m 一起看

数据来源与参考

  • Docker 官方文档:docker run Exit status(docs.docker.com)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌