/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的赋值设置外壳的名称,该名称用于警告和错误消息。
相关推荐
SPC的存折3 小时前
8、Docker镜像瘦身
运维·docker·容器
江湖有缘4 小时前
可视化Docker资源清理方案:PruneMate容器化部署实战
运维·docker·容器
亚空间仓鼠4 小时前
Docker 容器技术入门与实践 (四):Docker存储与网络
网络·docker·容器
java_logo4 小时前
Docker 部署 Hermes Agent 完整指南(Windows / Linux 通用)
linux·windows·docker·hermes-agent部署·docker部署hermes·hermes-agent教程·hermes-agent文档
橄榄熊4 小时前
docker MySQL 密码报错,重新修改保留原样的数据
mysql·docker·容器
Ciao1125 小时前
Docker连接失败时替换第三方镜像源,不需要重启docker
docker·容器·eureka
AI松子6665 小时前
vscode远程docker容器时报错
ide·vscode·docker
适应规律5 小时前
Docker和虚拟机
运维·docker·容器
A-刘晨阳5 小时前
k8s之镜像拉取策略
运维·docker·容器·kubernetes·运维开发·harbor
Elivs.Xiang5 小时前
Redis - Docker环境下的持久化、主从复制、哨兵、集群、淘汰策略
数据库·redis·docker