Exec 格式错误:3 种修复方法 [Docker、Linux]

Exec-format-error

如果您在 Windows PC 上使用 Linux 或适用于 Linux 的 Windows 子系统,通常会出现 Exec 格式错误消息。

错误消息将阻止您在终端中运行某些命令。这通常会影响开发人员,并可能导致生产出现问题,因此尽快解决问题非常重要。

Docker 或 Ninja 中的 exec 格式错误是什么?

  • 如果在特定体系结构上生成映像并尝试在不同的体系结构上运行它,则会出现此错误。
  • 如果脚本开头没有 shebang 行,则可能会收到此错误。
  • 您的文件未正确编译,从而导致此错误。

如何修复exec格式错误?

1. 确保对 Docker 映像使用相同的体系结构

  1. 在同一体系结构上构建 Docker 映像
  2. 基于 ARM 体系结构构建的映像在 x86 系统上不起作用,反之亦然。
  3. 使用 Docker BuildKit 确保您的映像与其他平台兼容。

2. 将 shebang 添加到脚本中

  1. 打开脚本,确保添加如下 shebang:
    #!/bin/bas
    sudo java -jar "https://cdn.windowsreport.com/home/ubuntu/myfile.jar"

    bin-bash
  2. 接下来,将执行权限添加到脚本中chmod: chmod +x start.sh
    chmod
  3. 检查问题是否已解决。

3. 正确编译文件

  1. 打开终端
  2. 接下来,运行以下命令:gcc my_file.c -o my_file
    gcc-terminal
  3. 检查问题是否已解决。

如何执行 docker 镜像?

  1. 启动终端并运行以下命令以运行容器:docker run -d --name mynginx nginx:latest
  2. 接下来,使用以下命令检查容器的状态:docker ps
  3. 之后,输入以下内容以访问容器 shell:docker exec -it mynginx /bin/bashdocker-exec
  4. 现在,您可以在 shell 中运行命令。

Exec 格式错误可能会给开发人员带来问题,但在大多数情况下,这只是在制作 Docker 映像时使用不同架构的问题。脚本文件中缺少 shebang 也可能导致此问题,因此请务必将它们添加到文件的开头。

如您所见,这通常是 Docker 或 Linux 错误,说到这一点,我们在之前的文章中介绍了 Docker Desktop 意外 WSL 错误和 Docker CLR 错误8000405,所以不要错过它们。

未经允许不得转载:表盘吧 » Exec 格式错误:3 种修复方法 [Docker、Linux]