/bin/bash: cannot execute binary file

容器内部无法执行二进制文件

原因是docker镜像的

入口点不能指向/bin/bash。移除ENTRYPOINT ["/bin/bash"]就足以使其正常工作。

如果是下载的镜像,不能修改ENTRYPOIN,可以使用dockerfile覆盖掉原来的ENTRYPOINT

复制代码
FROM ubuntu
ENTRYPOINT [ "/bin/bash", "-l", "-c" ]

然后就可以运行二进制文件了。

请注意手册页中/bin/bash选项的用途:

  • -l:使bash表现得如同它已被作为登录shell调用一样
  • -c:如果存在-c选项,则从第一个非选项参数command_string中读取命令。如果command_string后面有参数,则将第一个参数分配给$0,并将其余所有参数分配给位置参数。对$0的赋值设置外壳的名称,该名称用于警告和错误消息。
相关推荐
声声长乐3 小时前
Jenkins + Docker 完整部署指南
ubuntu·docker·jenkins
shughui7 小时前
Docker Desktop下载、安装、配置、使用
运维·docker·容器·自动化
hopsky12 小时前
Docker Compose 启动的容器内存 监控
docker·容器·eureka
FrameNotWork14 小时前
多设备 Android Logcat 自动采集方案:基于 Docker + Shell 实现日志按天切割与自动清理
android·docker·容器
Haoea!14 小时前
Docker + Harbor 私有镜像仓库搭建
运维·docker·容器
iambooo14 小时前
Docker 架构与核心原理深度解析:容器到底是怎么实现的?
运维·docker·容器
海兰14 小时前
Docker部署OpenClaw及常见问题解决(win11)
docker·容器·eureka
qq_3168377515 小时前
使用 certbot docker镜像生成阿里云域名ssl证书
阿里云·docker·ssl
木雷坞15 小时前
使用Docker Compose部署PostgreSQL:从入门到实践
docker·postgresql·容器
Tummer836316 小时前
从 Docker 到 Kubernetes:容器编排的工程化实践指南
docker·容器·kubernetes