/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的赋值设置外壳的名称,该名称用于警告和错误消息。
相关推荐
o_insist8 小时前
Docker 入门:从镜像、容器到项目部署
docker·自动化运维·devops
冷小鱼9 小时前
Dockerfile 编写与优化完全指南:从入门到生产级实践
docker·docker file
ziqi52211 小时前
Docker compose 和共享数据
运维·docker·容器
泓博12 小时前
Macbook Docker Compose不识别
运维·docker·容器
susu108301891112 小时前
windows系统的WSL的Ubuntu安装docker
linux·ubuntu·docker
Riu_Peter13 小时前
【技术】Docker 部署 MySQL
mysql·adb·docker
木雷坞14 小时前
Jellyfin Docker Compose 媒体库为空排查:volume、PUID/PGID 和挂载路径
docker·docker-compose·jellyfin
杨浦老苏15 小时前
开源服务器监控工具Checkmate
运维·docker·群晖·网站监控
ℳ₯㎕ddzོꦿ࿐15 小时前
实战指南:使用 Docker Compose 优雅部署 MongoDB 并自动初始化用户
mongodb·docker·容器
一坨阿亮15 小时前
Docker 离线部署
java·spring cloud·docker