我想在我的Windows 11 PC上构建一个小型python应用程序的多平台映像。我正在运行DockerDesktop4.10.1 (82475)和Windows中的命令。我不知道这个错误意味着什么,也不知道为什么它会崩溃,或者只是没有在无休止的循环中运行。我在互联网上找不到任何关于目标信号7的信息,这很奇怪。
有谁有主意吗?
docker buildx ls
向我展示:
NAME/NODE DRIVER/ENDPOINT STATUS PLATFORMS
build docker-container
build npipe:////./pipe/docker_engine running linux/amd64, linux/amd64/v2, linux/amd64/v3, linux/arm64, linux/riscv64, linux/ppc64le, linux/s390x, linux/386, linux/mips64le, linux/mips64, linux/arm/v7, linux/arm/v6
mybuilder * docker-container
mybuilder0 npipe:////./pipe/docker_engine running linux/amd64, linux/amd64/v2, linux/amd64/v3, linux/arm64, linux/riscv64, linux/ppc64le, linux/s390x, linux/386, linux/mips64le, linux/mips64, linux/arm/v7, linux/arm/v6
desktop-linux docker
desktop-linux desktop-linux running linux/amd64, linux/arm64, linux/riscv64, linux/ppc64le, linux/s390x, linux/386, linux/arm/v7, linux/arm/v6
default docker
default default running linux/amd64, linux/arm64, linux/riscv64, linux/ppc64le, linux/s390x, linux/386, linux/arm/v7, linux/arm/v6
我创建了build和mybuilder。
我试图运行的命令是:
docker buildx build --platform linux/arm/v7,linux/arm64/v8,linux/amd64 --tag username/imagename:latest .
大楼原木:
[+] Building 67.2s (16/18)
=> [internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 1.22kB 0.0s
=> [linux/arm/v7 internal] load metadata for docker.io/library/python:alpine 0.9s
=> [linux/arm64 internal] load metadata for docker.io/library/python:alpine 0.9s
=> [linux/amd64 internal] load metadata for docker.io/library/python:alpine 0.9s
=> [linux/arm/v7 1/4] FROM docker.io/library/python:alpine@sha256:4543fd9295d8d4f7a61c80d8e490de0f1cb0b37b022dbc1dd92537101a81d149 0.0s
=> => resolve docker.io/library/python:alpine@sha256:4543fd9295d8d4f7a61c80d8e490de0f1cb0b37b022dbc1dd92537101a81d149 0.0s
=> [internal] load build context 0.0s
=> => transferring context: 94B 0.0s
=> [linux/arm64 1/4] FROM docker.io/library/python:alpine@sha256:4543fd9295d8d4f7a61c80d8e490de0f1cb0b37b022dbc1dd92537101a81d149 0.0s
=> => resolve docker.io/library/python:alpine@sha256:4543fd9295d8d4f7a61c80d8e490de0f1cb0b37b022dbc1dd92537101a81d149 0.0s
=> [linux/amd64 1/4] FROM docker.io/library/python:alpine@sha256:4543fd9295d8d4f7a61c80d8e490de0f1cb0b37b022dbc1dd92537101a81d149 0.0s
=> => resolve docker.io/library/python:alpine@sha256:4543fd9295d8d4f7a61c80d8e490de0f1cb0b37b022dbc1dd92537101a81d149 0.0s
=> CACHED [linux/arm64 2/4] WORKDIR /app 0.0s
=> CACHED [linux/arm64 3/4] COPY . . 0.0s
=> CACHED [linux/amd64 2/4] WORKDIR /app 0.0s
=> CACHED [linux/amd64 3/4] COPY . . 0.0s
=> CACHED [linux/amd64 4/4] RUN pip3 install python-tado 0.0s
=> CACHED [linux/arm/v7 2/4] WORKDIR /app 0.0s
=> CACHED [linux/arm/v7 3/4] COPY . . 0.0s
=> [linux/arm64 4/4] RUN pip3 install python-tado 66.3s
=> => # qemu: uncaught target signal 7 (Bus error) - core dumped
=> [linux/arm/v7 4/4] RUN pip3 install python-tado 66.3s
=> => # qemu: uncaught target signal 7 (Bus error) - core dumped
最后但并非最不重要的是我的Dockerfile:
#Deriving the latest base image
FROM python:alpine
# Any working directory can be chosen as per choice like '/' or '/home' etc
WORKDIR /app
#to COPY the remote file at working directory in container
COPY . .
# has to be after WORKDIR because Python will only have all files within its path
RUN pip3 install python-tado
ENV USERNAME=username
ENV PASSWORD=password
CMD ["python", "-u", "script.py"]
发布于 2022-08-13 03:11:47
我想我可以自己回答这个问题。在我使用Windows 11的主PC上,它工作正常,没有问题。因此,我的ARM设备只能为arm64而不是PC那样为amd64构建图像是有意义的。
我猜是菜鸟弄错了。
https://stackoverflow.com/questions/73243086
复制相似问题