【问题标题】:Docker Exec format errorDocker Exec 格式错误
【发布时间】:2018-08-17 15:06:17
【问题描述】:

我有 dockerfile: ENTRYPOINT ["/code/docker-entrypoint.sh"]

docker-entrypoint.sh

!/bin/sh
/code/utils/BrowserStackLocal --key xxx  --daemon  start
robot --outputdir ./logs --variable xxx:yyy --variable     ./tests/BasicTestSuite.robot
/code/utils/BrowserStackLocal --key xxx  --daemon  start

当我运行图像时,我收到错误 -

  /code/docker-entrypoint.sh: 3: /code/docker-entrypoint.sh:  /code/utils/BrowserStackLocal: Exec format error

但下一个命令(机器人 --outputdir ...)成功运行。

我做错了什么?

P.S 我已经完成了 RUN chmod a+x /code/utils/BrowserStackLocal

【问题讨论】:

  • file /code/utils/BrowserStackLocal 的输出是什么?
  • @Aserre Mach-O 64-bit executable x86_64 看来我明白出了什么问题——这个文件只适用于 MacOS,我需要为 Linux 下载这个二进制文件,是吗?
  • 是的。你可以从这里下载:browserstack.com/local-testing#command-line
  • Docker 只能理解 Linux 系统调用(一些非常特定的 Windows 映像除外),因此您需要为要添加到容器中的包提供正确的架构

标签: bash docker


【解决方案1】:

您正在执行的文件BrowserStackLocal 可能与您正在运行的 Docker 映像具有不同的架构。

您是否有机会在BrowserStackLocal 的 64 位环境中运行 32 位版本?可以查看命令文件:file BrowserStackLocal

另一个命令在第一个命令失败后运行,这是预期的。

【讨论】:

    猜你喜欢
    • 2022-11-03
    • 2022-12-30
    • 1970-01-01
    • 1970-01-01
    • 2021-12-04
    • 2022-07-25
    • 2017-08-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多