/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的赋值设置外壳的名称,该名称用于警告和错误消息。
相关推荐
Knight_AL1 小时前
Docker 中的端口映射原理:为什么 Nginx 要 `listen 80`,而不是“随便写端口”
nginx·docker·容器
小波小波轩然大波2 小时前
docker总结
网络·docker·容器
qq_2153978972 小时前
内网穿透服务 frps
运维·docker·容器
hello_2503 小时前
排查K8s Pod Core Dump问题
linux·docker·kubernetes
可爱又迷人的反派角色“yang”4 小时前
docker(三)
linux·运维·网络·docker·容器·云计算
❀͜͡傀儡师5 小时前
docker部署Docker Compose文件Web管理工具Dockman
java·前端·docker·dockman
kong@react5 小时前
wsl2安装及命令(详细教程)
java·docker·容器
古城小栈6 小时前
Spring Boot 容器化:Docker+K8s 部署最佳实践
spring boot·docker·kubernetes
爱编程的小吴6 小时前
华为云 CCE 快速部署 Apollo 配置中心:单 YAML 一站式实现
docker·华为云
学习3人组7 小时前
docker run 命令详解
运维·docker·容器