前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Docker 构建多平台镜像

Docker 构建多平台镜像

原创
作者头像
陳斯托洛夫斯記
发布2022-10-02 13:46:16
1.3K0
发布2022-10-02 13:46:16
举报
文章被收录于专栏:XBD

docker buildx 插件简介

docker buildx 插件是 docker 19.03 引入的一个新的实验性插件,支持 --platform 可以同步构建多种架构的 docker 镜像。

启用 buildx

代码语言:shell
复制
# 临时启用
export DOCKER_CLI_EXPERIMENTAL=enabled

# 永久启用
vim /etc/docker/damon.json
{
    "experimental": true
}
image.png
image.png

安装 docker

代码语言:shell
复制
# 添加 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 镜像

代码语言:shell
复制
docker run --rm --privileged tonistiigi/binfmt:latest --install all

运行结果如下:

image.png
image.png

使用 buildx 构建镜像

代码语言:shell
复制
# 创建构建实例
docker buildx create --user --name mybuild

# 启动构建实例
docker buildx inspect mybuild --bootstrap

# 查看构建实例
docker buildx ls
image.png
image.png

基于 Dockerfile 构建多平台镜像

代码语言:shell
复制
# 基于 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	将构建好的镜像推送到远程仓库,需要提前登录到远程镜像仓库
image.png
image.png

Dockerfile 支持如下多架构相关的变量

代码语言:yaml
复制
# 构架类型,如:amd64、arm64
TAREGTMARCH

# 构建镜像的目标平台,如:linux/amd64、linux/arm64
TARGETPLATFORM

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • docker buildx 插件简介
  • 启用 buildx
  • 安装 docker
  • 安装模拟器构建非本地架构 docker 镜像
  • 使用 buildx 构建镜像
  • 基于 Dockerfile 构建多平台镜像
  • Dockerfile 支持如下多架构相关的变量
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档