我想通过使用buildx重新构建一个docker映像,以便为映像arranhs/duckerursim添加support arm64v8 architecture。
在执行生成命令之后
docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v8 -t my-user/my-repository:latest --push .
我得到这个错误:
=> ERROR [linux/arm64 11/26] RUN mv /tmp/ursim* /tmp/ursim 0.0s
------
> [linux/arm64 11/26] RUN mv /tmp/ursim* /tmp/ursim:
# 45 0.036 mv: cannot stat '/tmp/ursim*': No such file or directory
------
Dockerfile:43
--------------------
41 | RUN rm /tmp/URSim-Linux.tar.gz
42 | # Rename the URSim folder to jus ursim
43 | >>> RUN mv /tmp/ursim* /tmp/ursim
44 |
45 | RUN echo "****Installing URSim****"
--------------------
error: failed to solve: process "/bin/sh -c mv /tmp/ursim* /tmp/ursim" did not complete successfully: exit code: 1
看起来前面步骤中的目录和文件还没有创建?知道为什么吗?
我已经在一台ubuntu机器(我猜它使用的是linux/amd 64)上试过docker的镜像了,在那里镜像工作得很好,但是我想在一台使用苹果m1芯片的MacBook上工作。
停靠文件
生成器
我创建的构建器如下所示:
# Init
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
# Create a builder
docker buildx create --name mybuilder --driver docker-container
# Switch to builder and checkout
docker buildx use mybuilder
docker buildx inspect --bootstrap
2条答案
按热度按时间n53p2ov01#
RUN cd /tmp/
不是在dockerfile中切换工作目录的正确方法,它只能为当前命令切换工作目录。您需要WORKDIR /tmp
aemubtdh2#
重新启动机器后需要重新初始化
初始
docker运行--rm --特权多架构/qemu用户-静态--重置-p是