Windows11下Docker构建O266player出现/bin/sh不存在报错如何解决
问题解决方案
错误根因
你的核心报错exec: "/bin/sh": stat /bin/sh: no such file or directory出现在第6步ADD o266dec-win64.tar.xz /执行之后,说明该压缩包解压后覆盖/损坏了Ubuntu基础镜像里的/bin/sh系统文件,导致后续RUN命令无法调用shell执行。
分步修复步骤
- 首先清理本地无效构建缓存,避免旧缓存影响新构建:
docker builder prune -f
- 校验
o266dec-win64.tar.xz文件结构:本地解压该压缩包,确认解压后第一层是o266dec-win64目录,而不是直接散列的bin、usr、install.sh等文件。如果没有顶层目录,需要修改项目自带的Dockerfile,把ADD指令调整为:
RUN mkdir -p /o266dec-win64 ADD o266dec-win64.tar.xz /o266dec-win64/
避免压缩包内的文件直接覆盖系统根目录的内容。
- 调整Docker Desktop运行后端:Win11系统下打开Docker Desktop设置 -> 通用选项卡 -> 勾选「Use the WSL 2 based engine」,保存设置后重启Docker,避免Hyper-V后端的文件系统兼容问题。
- 重新执行构建命令,强制跳过缓存:
docker build -t o266player --force-rm --no-cache .
内容的提问来源于stack exchange,提问作者MartinHero13
相关产品推荐
相关产品推荐

