/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的赋值设置外壳的名称,该名称用于警告和错误消息。
相关推荐
小钱c77 小时前
docker相关常用指令
运维·docker·容器
ChenXinBest7 小时前
一次firewalld和docker冲突问题排查
linux·docker
随风语7 小时前
Docker学习
docker·容器
m0_488777658 小时前
Docker Compose 编排
docker·容器·docker-compose·编排管理多个服务
xuhe28 小时前
[重磅更新] 支持最新 Overleaf 6.x!我的私有化部署方案 xuhe2/sharelatex-ce 迎来大升级
linux·docker·github·科研·overleaf
不想画图8 小时前
dockerfile镜像构建和docker compose编排
docker·容器
半壶清水8 小时前
ubuntu中使用使用Docker-Compose管理MySQL、Apache、PHP容器
mysql·ubuntu·docker·php·apache
峰顶听歌的鲸鱼8 小时前
19.docker 图形化管理界面
运维·笔记·docker·容器·学习方法
好奇的菜鸟8 小时前
Windows 环境下使用 Docker 部署 Java 开发中间件完全指南
java·windows·docker
2301_787328499 小时前
34.docker(二)
docker·容器·php