Docker 构建多平台镜像

news/发布时间2024/5/22 5:15:10

Docker Buildx 是 Docker 官方推出的一个实验性功能,它支持构建、标记和推送多平台镜像

下面展示如何为一个 Docker 镜像同时构建并上传 arm64 和 amd64 两个架构的版本:

第 1 步:准备你的 Docker 环境

首先,确保你的 Docker 版本是最新的,并且已经开启了实验性功能(experimental features)。可以通过修改 Docker 的配置文件或设置环境变量 DOCKER_CLI_EXPERIMENTAL=enabled 来启用。

export DOCKER_CLI_EXPERIMENTAL=enabled

第 2 步:设置并启动 Buildx

安装并使用 Buildx。如果没有安装,可以从 Docker 官方 GitHub 仓库下载。

docker buildx create --name mybuilder --use
docker buildx inspect --bootstrap

第 3 步:登录到 Docker Hub

在上传镜像前,需要登录到 Docker Hub 或其他镜像仓库。

docker login

第 4 步:编写 Dockerfile

确保你的 Dockerfile 可以在不同架构上编译。在某些情况下,你可能需要根据架构提供特定的指令或依赖。

第 5 步:构建并推送镜像

使用 docker buildx build 命令构建并推送镜像到仓库。这里需要指定多个平台。

docker buildx build --platform linux/amd64,linux/arm64 -t username/repository:tag --push .

这条命令将会构建镜像适用于 amd64arm64 两种架构,并将构建的镜像推送到指定的远端仓库(这里使用的是 Docker Hub,username/repository 需要替换为你的用户名和仓库名)。请注意,tag 可以是如 latest 或其他版本号。

第 6 步:检查镜像

构建并推送完成后,你可以到 Docker Hub 上检查镜像是否正确标记了多个架构。

docker manifest inspect username/repository:tag

这个命令将展示镜像的元数据,包括它支持的架构。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ulsteruni.cn/article/83866121.html

如若内容造成侵权/违法违规/事实不符,请联系编程大学网进行投诉反馈email:xxxxxxxx@qq.com,一经查实,立即删除!

相关文章

测试与发布

目录测试报告一、bug的发现与解决二、场景测试(scenario testing)发布说明一、功能说明二、对运行环境的要求三、安装方法四、已知的限制和缺陷五、发布方式和发布地址 测试报告 一、bug的发现与解决1.在测试过程中总共发现了多少Bug?每个类别的Bug分别为多少个? 答:共发现…

8086 汇编学习 Part 5

流程转移 背景 一般情况下指令是顺序地逐条执行的,而在实际中,常需要改变程序的执行流程。 转移指令可以控制 CPU 执行内存中某处代码的指令。 可以修改 IP ,或同时修改 CS 和 IP 的指令。分类 按转移行为分类段内转移 : 只修改 IP (例如 JMP AX) 段间转移 : 同时修改 C…

win10 hyper-v 配置教程

非家庭版跳过以下这一步。 pushd "%~dp0"dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hv.txtfor /f %%i in (findstr /i . hv.txt 2^>nul) do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"del hv.txtDi…

嵌入式Linux,openssh连接报错:ssh_sandbox_violation: unexpected system call

背景: 使用buildroot编译完镜像,烧录到开发板,板子上电启动后,网络正常,ssh不能连接,sshd相同配置在其他机器上可以正常使用; 查看内核日志,看到连接时上报异常系统调用的错误:Jan 1 00:01:18 NanoPC-T2 auth.crit sshd[278]: fatal: ssh_sandbox_violation: unexpec…

30 秒出服装设计稿,森马用函数计算+AIGC 整“新活”!

2023 年初,森马希望迅速将 AI 技术深度融入到企业的核心业务流程中,实现服装行业中,从产品设计、生产制造、营销推广到售后服务的全链条智能化升级。在一个阳光明媚的下午我们走进森马,一起聊聊这个陪伴一代代中国年轻人成长的企业,如何基于阿里云函数计算,快速实现传统服…

BurpSuite连接浏览器代理无法打开部分网页问题

BurpSuite连接浏览器代理时,部分页面能打开,部分页面报错的可能有效的解决方法。本人写这篇记录时,尚未熟悉bp基本操作,仅记录该次探索bp功能解决问题的心路历程。 发现并解决问题 最近两天为能打开尘封已久的bp,抓包做题,卸载了jdk20,下了jdk1.8(高版本jdk破解用的jav…