Docker 构建多平台镜像
docker buildx 插件简介
docker buildx 插件是 docker 19.03 引入的一个新的实验性插件,支持 --platform 可以同步构建多种架构的 docker 镜像。
启用 buildx
# 临时启用
export DOCKER_CLI_EXPERIMENTAL=enabled
# 永久启用
vim /etc/docker/damon.json
{
"experimental": true
}
安装 docker
# 添加 docker 安装源
vim /etc/yum.repos.d/docker.repo
[Docker-CE]
name=Docker Repo
baseurl=https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/8/x86_64/stable/
enabled=1
gpgcheck=0
# 更新源
yum makecache
# 安装 docker
yum install docker-ce -y
# 启动 docker,并设置开机自启
systemctl enable --now docker
安装模拟器构建非本地架构 docker 镜像
docker run --rm --privileged tonistiigi/binfmt:latest --install all
运行结果如下:
使用 buildx 构建镜像
# 创建构建实例
docker buildx create --user --name mybuild
# 启动构建实例
docker buildx inspect mybuild --bootstrap
# 查看构建实例
docker buildx ls
基于 Dockerfile 构建多平台镜像
# 基于 Dockerfile 构建并导出到本地镜像,导出的镜像如果与当前环境平台不同,是无法构建成功的
docker buildx build -t jenkins:latest --platform=linux/amd64 . --load
# 做好远程仓库认证,基于 Dockerfile 构建镜像,并直接推送到远程仓库中
docker login
docker buildx build -t jenkins:latest --platform=linux/amd64,linux/arm64 . --push
# --load 将构建好的镜像 load 到本地
# --push 将构建好的镜像推送到远程仓库,需要提前登录到远程镜像仓库
Dockerfile 支持如下多架构相关的变量
# 构架类型,如:amd64、arm64
TAREGTMARCH
# 构建镜像的目标平台,如:linux/amd64、linux/arm64
TARGETPLATFORM
THE END
0
二维码
海报
Docker 构建多平台镜像
docker buildx 插件简介
docker buildx 插件是 docker 19.03 引入的一个新的实验性插件,支持 --platform 可以同步构建多种架构的 docker 镜像。
启用 build……
![](https://kz.cx/wp-content/uploads/2021/10/Pasted-11.png)