/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的赋值设置外壳的名称,该名称用于警告和错误消息。
相关推荐
蜀道山老天师14 小时前
Docker Compose实战案例:一键部署WordPress+Prometheus监控平台
运维·docker·容器·prometheus
再战300年16 小时前
docker快速部署kafka集群
docker·容器·kafka
春天的菠菜16 小时前
【私服】一步部署 Docker 私服
java·docker·容器
栀椩16 小时前
Docker 命令速查手册
spring cloud·docker
梦梦代码精17 小时前
深度拆解:上门按摩系统如何成为本地生活“到家时代”的新引擎?
docker·小程序·uni-app·开源·生活·开源软件
再战300年17 小时前
通过docker实现mysql一主多从
mysql·docker·容器
刘一说18 小时前
Ubuntu 系统上安装 Docker
linux·ubuntu·docker
askama0019 小时前
Ubuntu使用阿里源安装Docker
docker
念恒1230620 小时前
Docker基础--CGroups资源控制实战(包含部分指令)
运维·docker·容器
Benszen20 小时前
docker简介
运维·docker·容器