docker使用buildx打包多版本镜像

2024 年 3 月 1 日 星期五(已编辑)
5
这篇文章上次修改于 2024 年 3 月 26 日 星期二,可能部分内容已经不适用,如有疑问可询问作者。

docker使用buildx打包多版本镜像

开启 Docker 的 buildx 功能

首先,我们需要开启 Docker 的 buildx 功能。这可以通过修改 /etc/docker/daemon.json 文件来实现。将下面的内容添加到文件中:

{
  "experimental": "enabled"
}

创建并启动多平台构建器

接下来,我们需要创建并启动一个多平台构建器。可以通过下面的命令来完成:

# 创建 builder 实例
docker buildx create --use --name mybuilder

这个命令会创建一个名为 mybuilder 的 builder 实例,并且将其设置为当前使用的实例。

接下来,我们可以查看已经创建的 builder 实例:

# 查看已有的 builder 实例
docker buildx ls

为了支持多平台镜像构建,我们需要安装一个模拟器。可以使用下面的命令来安装:

# 安装模拟器(用于多平台镜像构建)
docker run --rm --privileged tonistiigi/binfmt:latest --install all

安装完成后,我们可以查看已经安装的模拟器:

# 查看已安装的模拟器
ls /proc/sys/fs/binfmt_misc/qemu-*

构建命令

最后,我们可以开始进行多平台构建了。如果你在国内,可能需要修改 Dockerfile 里面所用的镜像源,比如 npm。

下面是一个多平台构建的命令示例:

# 多平台构建命令
docker buildx build --platform linux/amd64,linux/arm64 -t kohlarnhin/mx-core:latest --push .

这个命令将会构建支持 amd64 和 arm64 的镜像,并且会自动上传到 Docker Hub 镜像仓库中。

  • Loading...
  • Loading...
  • Loading...
  • Loading...
  • Loading...