/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的赋值设置外壳的名称,该名称用于警告和错误消息。

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-09 16:10:03       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-09 16:10:03       106 阅读
  3. 在Django里面运行非项目文件

    2024-01-09 16:10:03       87 阅读
  4. Python语言-面向对象

    2024-01-09 16:10:03       96 阅读

热门阅读

  1. 【Python】卷积神经网络

    2024-01-09 16:10:03       61 阅读
  2. 【面试高频算法解析】算法练习7 贪心算法

    2024-01-09 16:10:03       62 阅读
  3. SpringBoot项目中开启MyBatis的SQL日志

    2024-01-09 16:10:03       55 阅读
  4. openc910源码LSU系列之<66>

    2024-01-09 16:10:03       51 阅读
  5. golang学习-流程控制

    2024-01-09 16:10:03       58 阅读
  6. pytest-mock 数据模拟

    2024-01-09 16:10:03       80 阅读
  7. 用 Socket.D 替代原生 WebSocket 做前端开发

    2024-01-09 16:10:03       65 阅读
  8. 常见连读技巧

    2024-01-09 16:10:03       75 阅读
  9. Linux CentOS官方文档之U盘安装

    2024-01-09 16:10:03       58 阅读
  10. ACP科普:为什么Scrum的冲刺周期不变?

    2024-01-09 16:10:03       55 阅读
  11. socket从客户端向主机传输一个文件

    2024-01-09 16:10:03       55 阅读