/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 分钟前
docker pull weaviate 国内拉取失败的问题
运维·docker·容器
gallonyin21 分钟前
服务器带宽异常排查实战:用 tcpdump + Docker 精准定位“吃带宽”的进程
服务器·docker·tcpdump
草青工作室30 分钟前
Spring Boot 环境变量配置详解:从 IDEA 到 Docker 部署
spring boot·docker·intellij-idea
白鸽梦游指南34 分钟前
docker部署和常规使用方法
运维·docker·容器
vpk11239 分钟前
Docker Compose 部署 GitLab
docker·容器·gitlab
l1t9 小时前
用docker安装测试crate数据库
数据库·docker·容器·cratedb
枕书11 小时前
实战记录:如何使用 Docker 一键部署长亭 PandaWiki 智能知识库
运维·docker·容器
IT199514 小时前
Docker笔记-对docker-compose.yml基本认识
笔记·docker·容器
supersolon16 小时前
WSL2(Linux)升级docker
linux·运维·docker·wsl·升级
一殊酒17 小时前
【Docker】常用命令大全及解析
docker·容器·eureka