/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的赋值设置外壳的名称,该名称用于警告和错误消息。
相关推荐
秦始皇爱找茬6 小时前
docker部署Jenkins工具
docker·容器·jenkins
zru_96029 小时前
Docker 部署 Redis:快速搭建高效缓存服务
redis·缓存·docker
Golinie11 小时前
Docker底层原理浅析 | namespace+cgroups+文件系统
docker·容器·文件系统·cgroups·unionfs
晓柏11 小时前
OpenEuler 系统安装 docker 和 nvidia-docker
docker
FreeBuf_12 小时前
新型恶意软件采用独特混淆技术劫持Docker镜像
运维·docker·容器
李菠菜14 小时前
CentOS系统指定版本Docker与Docker-Compose在线安装教程
docker·容器·centos
包达叔14 小时前
dockercompose文件仓库
docker
李菠菜18 小时前
Kubernetes上通过Helm部署高可用Redis集群
docker·容器·kubernetes
李菠菜19 小时前
修改KubeSphere外网访问端口
docker·容器·kubernetes
福大大架构师每日一题19 小时前
docker v28.1.1 正式发布!修复关键Bug,网络与安全性再升级
网络·docker·bug