/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 小时前
Docker 容器内运行 ROS Noetic 图形界面(rqt_image_view)极简教程总结
运维·docker·容器
smileNicky6 小时前
Docker 部署 SpringBoot 项目超详细教程
spring boot·docker·容器
我叫黑大帅11 小时前
基于 Docker + Watchtower 自动化部署后端服务
后端·docker·面试
念恒1230611 小时前
Docker(容器技术发展史)
docker·容器
eggcode11 小时前
腾讯云使用Docker模板的学习记录
学习·docker·腾讯云
YuanDaima204811 小时前
Docker 核心架构与底层技术原理解析
运维·人工智能·docker·微服务·容器·架构·个人开发
殇尘13 小时前
Docker + VSCode 搭建开发环境沙箱
vscode·docker·容器
汪汪大队u14 小时前
从 Docker Compose 到 Kubernetes:物联网管理系统迁移实战(3)—— 两个运维坑
运维·docker·kubernetes
smileNicky14 小时前
CentOS 8 安装 Docker 超详细教程
docker·eureka·centos
念恒1230615 小时前
Docker基础
运维·docker·容器