当前位置: 首页 > news >正文

在 X86_64(amd64) 平台上的docker支持打包构建多环境镜像并推送镜像到Harbor

我自己的电脑系统是X86_64(amd64)平台,我下载好Docker Desktop之后【具体下载步骤看上一章】,想构建多环境平台的镜像,并推送镜像到Harbar,具体实现过程如下:

  1. 打开Docker Desktop小鲸鱼图标应用,在设置中找到Docker Engine中配置镜像源,然后重启Docker Desktop应用,点击左下角,切换状态,点击Restart,重新启动服务。注意一定要重新启动配置的镜像源才会生效
  "registry-mirrors": ["https://docker.m.daocloud.io/","https://huecker.io/","https://dockerhub.timeweb.cloud","https://noohub.ru/","https://dockerproxy.com","https://docker.mirrors.ustc.edu.cn","https://docker.nju.edu.cn","https://xx4bwyg2.mirror.aliyuncs.com","http://f1361db2.m.daocloud.io","https://registry.docker-cn.com","http://hub-mirror.c.163.com","https://docker.mirrors.ustc.edu.cn"]

同时贴上我这边的所有配置参数如下:
注意:insecure-registries中配置的是私有源地址,可根据需要自行配置

{"builder": {"gc": {"defaultKeepStorage": "20GB","enabled": true}},"experimental": true,"features": {"buildkit": true},"insecure-registries": ["harbor.xxxx.net"],"registry-mirrors": ["https://docker.m.daocloud.io/","https://huecker.io/","https://dockerhub.timeweb.cloud","https://noohub.ru/","https://dockerproxy.com","https://docker.mirrors.ustc.edu.cn","https://docker.nju.edu.cn","https://xx4bwyg2.mirror.aliyuncs.com","http://f1361db2.m.daocloud.io","https://registry.docker-cn.com","http://hub-mirror.c.163.com","https://docker.mirrors.ustc.edu.cn"]
}
  1. 查看docker状态,检查docker服务是否正常运行,并验证刚刚配置的镜像源是否生效,如果有正确输出刚刚配置的镜像源地址,则说明配置生效。如果没有,可返回上一步检查配置镜像源后,是否有重启
docker info

正常输出如下:

Client:Version:    28.3.2Context:    desktop-linuxDebug Mode: falsePlugins:ai: Docker AI Agent - Ask Gordon (Docker Inc.)Version:  v1.9.11Path:     C:\Users\shiqiaoyun\.docker\cli-plugins\docker-ai.exebuildx: Docker Buildx (Docker Inc.)Version:  v0.26.1-desktop.1Path:     C:\Users\shiqiaoyun\.docker\cli-plugins\docker-buildx.execloud: Docker Cloud (Docker Inc.)Version:  v0.4.11Path:     C:\Users\shiqiaoyun\.docker\cli-plugins\docker-cloud.execompose: Docker Compose (Docker Inc.)Version:  v2.39.1-desktop.1Path:     C:\Users\shiqiaoyun\.docker\cli-plugins\docker-compose.exedebug: Get a shell into any image or container (Docker Inc.)Version:  0.0.42Path:     C:\Users\shiqiaoyun\.docker\cli-plugins\docker-debug.exedesktop: Docker Desktop commands (Docker Inc.)Version:  v0.2.0Path:     C:\Users\shiqiaoyun\.docker\cli-plugins\docker-desktop.exeextension: Manages Docker extensions (Docker Inc.)Version:  v0.2.29Path:     C:\Users\shiqiaoyun\.docker\cli-plugins\docker-extension.exeinit: Creates Docker-related starter files for your project (Docker Inc.)Version:  v1.4.0Path:     C:\Users\shiqiaoyun\.docker\cli-plugins\docker-init.exemcp: Docker MCP Plugin (Docker Inc.)Version:  v0.13.0Path:     C:\Users\shiqiaoyun\.docker\cli-plugins\docker-mcp.exemodel: Docker Model Runner (EXPERIMENTAL) (Docker Inc.)Version:  v0.1.36Path:     C:\Users\shiqiaoyun\.docker\cli-plugins\docker-model.exesbom: View the packaged-based Software Bill Of Materials (SBOM) for an image (Anchore Inc.)Version:  0.6.0Path:     C:\Users\shiqiaoyun\.docker\cli-plugins\docker-sbom.exescout: Docker Scout (Docker Inc.)Version:  v1.18.2Path:     C:\Users\shiqiaoyun\.docker\cli-plugins\docker-scout.exeServer:Containers: 0Running: 0Paused: 0Stopped: 0Images: 1Server Version: 28.3.2Storage Driver: overlay2Backing Filesystem: extfsSupports d_type: trueUsing metacopy: falseNative Overlay Diff: trueuserxattr: falseLogging Driver: json-fileCgroup Driver: cgroupfsCgroup Version: 2Plugins:Volume: localNetwork: bridge host ipvlan macvlan null overlayLog: awslogs fluentd gcplogs gelf journald json-file local splunk syslogCDI spec directories:/etc/cdi/var/run/cdiDiscovered Devices:cdi: docker.com/gpu=webgpuSwarm: inactiveRuntimes: io.containerd.runc.v2 nvidia runcDefault Runtime: runcInit Binary: docker-initcontainerd version: 05044ec0a9a75232cad458027ca83437aae3f4darunc version: v1.2.5-0-g59923efinit version: de40ad0Security Options:seccompProfile: builtincgroupnsKernel Version: 6.6.87.2-microsoft-standard-WSL2Operating System: Docker DesktopOSType: linuxArchitecture: x86_64CPUs: 12Total Memory: 7.62GiBName: docker-desktopID: a08de987-7756-4e24-bf3e-ad7df58ac2fcDocker Root Dir: /var/lib/dockerDebug Mode: falseHTTP Proxy: http.docker.internal:3128HTTPS Proxy: http.docker.internal:3128No Proxy: hubproxy.docker.internalLabels:com.docker.desktop.address=npipe://\\.\pipe\docker_cliExperimental: trueInsecure Registries:harbor.xxxx.nethubproxy.docker.internal:5555::1/128127.0.0.0/8Registry Mirrors:https://docker.m.daocloud.io/https://huecker.io/https://dockerhub.timeweb.cloud/https://noohub.ru/https://dockerproxy.com/https://docker.mirrors.ustc.edu.cn/https://docker.nju.edu.cn/https://xx4bwyg2.mirror.aliyuncs.com/http://f1361db2.m.daocloud.io/https://registry.docker-cn.com/http://hub-mirror.c.163.com/Live Restore Enabled: falseWARNING: DOCKER_INSECURE_NO_IPTABLES_RAW is set

最后执行构建并推送多环境镜像的命令:

docker buildx build --platform linux/amd64,linux/arm64 -f ./Dockerfile -t "harbor.xxxx.net/ailp/ee/frontend/app:v3.0.3.9" --push .

正常输出如下:

[+] Building 7.2s (11/11) FINISHED                                                 docker-container:multi-platform-builder=> [internal] load build definition from Dockerfile                                                                  0.0s=> => transferring dockerfile: 184B                                                                                  0.0s=> [linux/arm64 internal] load metadata for harbor.xxxx.net/ailp/ee/frontend/base:v2                             0.3s => [linux/amd64 internal] load metadata for harbor.xxxx.net/ailp/ee/frontend/base:v2                             0.3s => [internal] load .dockerignore                                                                                     0.0s=> => transferring context: 142B                                                                                     0.0s => [linux/arm64 1/2] FROM harbor.xxxx.net/ailp/ee/frontend/base:v2@sha256:6ad3d6ed02c959a331f7b4ae644829af9a255  0.0s => => resolve harbor.xxxx.net/ailp/ee/frontend/base:v2@sha256:6ad3d6ed02c959a331f7b4ae644829af9a255d8c95ffc47b4  0.0s => [internal] load build context                                                                                     0.1s => => transferring context: 132.21kB                                                                                 0.1s => [linux/amd64 1/2] FROM harbor.xxxx.net/ailp/ee/frontend/base:v2@sha256:6ad3d6ed02c959a331f7b4ae644829af9a255  0.0s => => resolve harbor.xxxx.net/ailp/ee/frontend/base:v2@sha256:6ad3d6ed02c959a331f7b4ae644829af9a255d8c95ffc47b4  0.0s => CACHED [linux/amd64 2/2] COPY dist /usr/share/nginx/html                                                          0.0s=> CACHED [linux/arm64 2/2] COPY dist /usr/share/nginx/html                                                          0.0s => exporting to image                                                                                                6.6s => => exporting layers                                                                                               3.4s => => exporting manifest sha256:62869d8fc9b0ac0d0f7264f9908df7913c5a044447f09eb6ed55912e148dfef4                     0.0s=> => exporting config sha256:e22509d4a4d5492e171e8c64682294d6f365d6c93da8339dfdfcb2ac5c1788cc                       0.0s => => exporting attestation manifest sha256:ae5a3b66a0ea671f389301130a333db68b82aa606587b497faf8216698b4e640         0.0s => => exporting manifest sha256:68eafff9180ad6ca5b90baf644bf82d0f92ac308ede3db6904b1ddd4e9a7ccce                     0.0s=> => exporting config sha256:7e9ee34b58434675a6006d34fcc194a1cab3bf5d8addc64dad25a3beb1887c36                       0.0s => => exporting attestation manifest sha256:cf8f688899e2b5e12007bb537e99ff1b39e50a4d4de05a08f5385061bc027c20         0.1s => => exporting manifest list sha256:1a706ff8a56c57f545bd10807c55750b86a4b03ae2870d3b3f87992ac87450a0                0.0s => => pushing layers                                                                                                 2.0s=> => pushing manifest for harbor.xxxx.net/ailp/ee/frontend/app:v3.0.3.9@sha256:1a706ff8a56c57f545bd10807c55750  0.9s => [auth] ailp/ee/frontend/app:pull,push token for harbor.xxxx.net                                               0.0sView build details: docker-desktop://dashboard/build/multi-platform-builder/multi-platform-builder0/liuedj57irmckc7smjurv8sfm

打开Docker desktop 在Builds中可看到刚刚构建成功的版本
在这里插入图片描述
在Harbor中也能看到推送成功之后的镜像(amd64和arm64):

在这里插入图片描述

在这里插入图片描述

http://www.dtcms.com/a/326740.html

相关文章:

  • AI Coding 概述及学习路线图
  • uploader组件,批量上传怎么设置实时滚动
  • Anti-Aliasing/Mip-NeRF/Zip-NeRF/multi-scale representation
  • 2.一维码+二维码+字符识别
  • OpenHarmony概述与使用
  • 基于大数据的个性化学习环境构建的研究与应用
  • Java前后端交互核心技术:Servlet与JSP深度解析
  • 【Altium designer】一键给多个器件添加参数
  • 2025年渗透测试面试题总结-13(题目+回答)
  • 如何选择一家靠谱的开发公司开发项目呢?
  • sql select语句
  • Python 高阶函数:filter、map、reduce 详解
  • WebMCP 技术文档——让 AI 助手与 Web 应用无缝交互的轻量级框架
  • 基于cursor工具与AI大模型,规范驱动的全自然语言软件开发工作流实现路径
  • 导入CSV文件到MySQL
  • webpark》》
  • STM32CubeMX + HAL 库:用硬件IIC接口实现AT24C02 EEPROM芯片的读写操作
  • Kubernetes部署apisix的理论与最佳实践(一)
  • 【OpenGL】LearnOpenGL学习笔记06 - 坐标系统、MVP变换、绘制立方体
  • 用 t-SNE 把 KSC 高光谱“变成可转动的 3D 影像”——从零到会,逐段读懂代码并导出旋转 GIF
  • 二叉树进阶 之 【模拟实现二叉搜索树】(递归、非递归实现查找、插入、删除功能)
  • 跨平台RTMP推流SDK vs OBS:技术差异与行业落地解析
  • 01数据结构-十字链表和多重邻接表
  • Lwip深度阅读-网络架构
  • 【代码随想录day 17】 力扣 654.最大二叉树
  • 贪心----2.跳跃游戏
  • 区块链技术原理(5)-网络
  • Docker部署MySQL完整指南:从入门到实践
  • Leetcode-25.K个一组翻转链表
  • 【13-向量化-高效计算】