M1 Mac使用Docker Buildx构建Petalinux镜像后无法访问求助
解决M1 Mac上Docker Buildx构建镜像后无法本地访问的问题
问题原因
使用docker buildx build时默认采用docker-container驱动,该驱动的构建结果仅保存在buildx的缓存中,不会自动导入本地Docker守护进程的镜像库,因此执行docker run时找不到对应的镜像,这也正是构建时出现的警告所提示的内容。
解决方法
方法一:构建时直接加载镜像到本地
修改构建命令,添加--load参数,让buildx在构建完成后将镜像导入本地Docker:
docker buildx build --platform=linux/amd64 --build-arg PETA_RUN_FILE=petalinux-v2021.2-final-installer.run -t petalinux_2021_2 --load .
构建完成后,即可直接用原docker run命令启动镜像。
方法二:从buildx缓存导出并加载镜像
如果已经完成构建,可通过以下步骤将缓存中的镜像导出到本地:
- 查看当前buildx的构建器信息(确认使用的构建器):
docker buildx ls
- 导出镜像到本地tar文件:
docker buildx build --platform=linux/amd64 --build-arg PETA_RUN_FILE=petalinux-v2021.2-final-installer.run -t petalinux_2021_2 --output type=docker,dest=petalinux_2021_2.tar .
- 将tar文件加载到Docker镜像库:
docker load < petalinux_2021_2.tar
加载完成后,即可执行原docker run命令启动镜像。
内容的提问来源于stack exchange,提问作者Torsten Robitzki
相关产品推荐
相关产品推荐

