使用Docker生成X86镜像
🚤

使用Docker生成X86镜像

Introduction
m1芯片Macbook使用docker生成x86镜像
Category
Docker
Maintenance
CreateTime
Sep 27, 2021
notion image

问题信息

前一阵换了 M1芯片Macbook 后,前端开发环境都兼容,可以正常跑项目。但是就在本地打镜像时出现问题,使用 docker 打镜像后到环境上部署不成功,获取不到资源,返回 502 。一直以为是 NodeDocker 版本的问题,不兼容,各种替换后还是有问题。最终想到可能是 打完的镜像应该是arm64 的,但是服务器不是这个,导致错误❌,应该是需要打 x86 的镜像才可以。

启用buildx插件

启用这个插件,需要版本号大于 19.03 ,使用下面的命令来开启
export DOCKER_CLI_EXPERIMENTAL=enabled

启用 binfmt_misc

使用的是 Docker桌面版 会默认开启

从默认的构建器切换到多平台构建器

Docker 默认会使用不支持多 CPU 架构的构建器,我们需要手动切换。
先创建一个新的构建器:
docker buildx create --use --name mybuilder
启动构建器:
docker buildx inspect mybuilder --bootstrap
等待启动结束即可。

修改打镜像的命令

docker buildx build --platform linux/amd64 --load -t example .
  • linux/amd64 表示x86的镜像
  • —load 表示记载到本地,或者用push推到仓库也可以
 

Loading Comments...