Docker Buildx跨平台构建
前言 拉取使用别人镜像时发现在不同CPU架构下都可以使用,查找后发现虽然是同一个镜像但是分不同的架构版本,拉取镜像时会拉取当前CPU架构下的镜像,所以可以全平台通用一个命令。 比如golang:1.24.1 docker pull golang:1.24.1 可以看到官方镜像是分为好多架构的 Buildx 1、Buildx 简介 Docker Buildx 是 Docker的CLI插件,来自于Moby BuildKit 。自从Docker 18.06 开始这个插件直接集成到了Docker build 中。 Buildx 是一个构建工具, 它可以帮助用户快速、高效地构建 Docker 镜像, 并支持多种平台的构建。使用 buildx, 用户可以在单个命令中构建多种架构的镜像, 例如 x86 和 ARM 架构, 而无需手动操作多个构建命令。此外, buildx 还支持 Dockerfile 的多阶段构建和缓存, 这可以大大提高镜像构建的效率和速度。 2、Buildx 安装 注意: 在Debian和Ubuntu中不要使用apt install docker.io命令安装docker,因为docker.io不是官方docker,没有内置buildx,所以安装后无法使用buildx,应该使用官方镜像安装docker才内置buildx。 debian/ubuntu官方教程:https://docs.docker.com/engine/install/debian/ 添加密钥 sudo apt-get update sudo apt-get install ca-certificates curl sudo install -m 0755 -d /etc/apt/keyrings sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc sudo chmod a+r /etc/apt/keyrings/docker.asc # Add the repository to Apt sources: echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt-get update 安装docker-ce和插件 ...