/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的赋值设置外壳的名称,该名称用于警告和错误消息。
相关推荐
jc06201 小时前
6.1云原生之Docker
c++·docker·云原生
JellyfishMIX4 小时前
k8s 容器 cpu 概念
docker·容器·kubernetes
运维全栈笔记8 小时前
K8S部署WordPress+MySQL:模块化YAML配置详解
服务器·mysql·docker·云原生·容器·kubernetes·服务发现
张青贤8 小时前
linux离线部署docker和docker-compose
linux·docker·docker-compose
Zender Han9 小时前
Docker 部署 OpenClaw:从安装到日常使用的完整指南
docker·openclaw
杨浦老苏10 小时前
自托管网络监控工具LanLens
网络·docker·监控·群晖
剩下了什么10 小时前
docker-compose up -d --build 和 docker-compose up -d 和 docker-compose build 区别
docker·容器·eureka
Zender Han11 小时前
常见 Docker 命令介绍与使用指南
docker
两点王爷11 小时前
使用命令行备份/还原docker运行的数据库 (MySQL、PostgreSQL)
mysql·docker·容器
张青贤11 小时前
Docker Remote 未授权访问漏洞修复方法
运维·docker·容器