Docker buildx -arm 64平台上没有此类文件或目录

3duebb1j  于 2022-11-02  发布在  Docker
关注(0)|答案(2)|浏览(262)

我想通过使用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
n53p2ov0

n53p2ov01#

RUN cd /tmp/不是在dockerfile中切换工作目录的正确方法,它只能为当前命令切换工作目录。您需要WORKDIR /tmp

aemubtdh

aemubtdh2#

重新启动机器后需要重新初始化

初始

docker运行--rm --特权多架构/qemu用户-静态--重置-p是

相关问题