Docker:'RUN apt update`上的'执行格式错误'

zpqajqem  于 2023-02-03  发布在  Docker
关注(0)|答案(3)|浏览(130)

此停靠文件:

FROM ubuntu:latest
COPY . /srv/keller
WORKDIR /srv/keller
RUN DEBIAN_FRONTEND=noninteractive apt-get update

导致

Sending build context to Docker daemon 1.167 MB
Step 0 : FROM ubuntu:latest
 ---> d9fad37da739
Step 1 : COPY . /srv/keller
 ---> 0691d53a9ddb
Removing intermediate container 76978e260250
Step 2 : WORKDIR /srv/keller
 ---> Running in 7d47ac19f397
 ---> 924513b02e82
Removing intermediate container 7d47ac19f397
Step 3 : RUN DEBIAN_FRONTEND=noninteractive apt-get update
 ---> Running in 97284e8842bc
exec format error
[8] System error: exec format error

在Raspbian GNU/Linux 9上。这里有什么问题?注意这不是关于入口点/命令。这个错误发生在apt更新上。

nhn9ugyo

nhn9ugyo1#

您正在尝试运行英特尔x86 64映像:在树莓派(一个ARM64)上的ubuntu:latest,它不能开箱即用...
您也可以更改基本映像以与主机兼容(例如:arm64v8/ubuntu)。
或者您可以安装qemu:

apt install -y qemu qemu-system-x86 binfmt-support qemu-user-static

并在Docker中注册:

docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
cczfrluj

cczfrluj2#

当我在运行Debian的云中设置pod时发生了这种情况,而我的机器是M1。我不得不将一些图像推送到一个私有的docker repo,但当我推它们时,我注意到上传的图像与集群中的pod架构不兼容。
我的修复方法是拉取正确的图像docker pull --platform=linux/amd64 python:3.9.16-buster,然后使用该图像,而不是只做docker pull --platform=linux/amd64 python:3.9.16-buster

11dmarpk

11dmarpk3#

您缺少导出和分号,这应该是

RUN export DEBIAN_FRONTEND=noninteractive; apt-get update

也可以使用&&语法

RUN export DEBIAN_FRONTEND=noninteractive && apt-get update

相关问题