/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的赋值设置外壳的名称,该名称用于警告和错误消息。
相关推荐
爱宇阳7 小时前
从零开始部署 GitLab CE 18.4.2:Docker Compose 新手教程
docker·容器·gitlab
tryCbest8 小时前
Linux使用Docker部署Node.js+Express+SQLite项目
docker·centos·node.js
小醉你真好8 小时前
16、Docker Compose 安装Kafka(含Zookeeper)
docker·zookeeper·kafka
007php00711 小时前
Docker 实战经验之关键文件误删恢复指南(一)
jvm·docker·云原生·容器·面试·职场和发展·eureka
Do_GH11 小时前
【Docker】06.通过WSL部署Docker Desktop
运维·docker·容器
可DRAK鸦|・ω・`)11 小时前
docker后端jar包本地构建镜像
java·docker·容器·jar
xiaolu28915 小时前
k8s学习 - 命令记录
学习·docker·kubernetes
小任今晚几点睡16 小时前
Docker 完整指南:从入门到企业实战
运维·docker·容器
无妄无望16 小时前
docker学习 (3)网络与防火墙
网络·学习·docker
努力搬砖的咸鱼19 小时前
Node.js 和 Java 项目怎么写 Dockerfile
java·开发语言·docker·云原生·容器·node.js