docker buildx 插件是 docker 19.03 引入的一个新的实验性插件,支持 --platform 可以同步构建多种架构的 docker 镜像。
# 临时启用
export DOCKER_CLI_EXPERIMENTAL=enabled
# 永久启用
vim /etc/docker/damon.json
{
"experimental": true
}
# 添加 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 run --rm --privileged tonistiigi/binfmt:latest --install all
运行结果如下:
# 创建构建实例
docker buildx create --user --name mybuild
# 启动构建实例
docker buildx inspect mybuild --bootstrap
# 查看构建实例
docker buildx ls
# 基于 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 将构建好的镜像推送到远程仓库,需要提前登录到远程镜像仓库
# 构架类型,如:amd64、arm64
TAREGTMARCH
# 构建镜像的目标平台,如:linux/amd64、linux/arm64
TARGETPLATFORM
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。