第7章:镜像仓库与 CI/CD 集成——私有 Harbor + GitHub Actions

本章你将彻底搞懂:搭建私有镜像仓库的两种方案(Docker Registry 和 Harbor)。Harbor 的企业级功能:权限管理、镜像复制、漏洞扫描。GitHub Actions 自动构建镜像并推送到私有仓库的完整流水线。镜像安全扫描与供应链攻击防范。真实案例:公司使用的公共镜像被植入挖矿程序,从此所有基础镜像必须从私有仓库拉取;还有一次 CI 流水线中 latest 标签覆盖导致生产环境拉取了未测试的版本。
配套资源:一键部署 Harbor 的 docker-compose 脚本、GitHub Actions workflow 模板(支持多环境、标签自动生成)、镜像漏洞扫描脚本。
真实踩坑:我曾把 Docker Hub 的 node:14 直接用在生产,结果该镜像某天被下架,CI 失败;还有一次 docker push 时因为未登录,报错 denied: requested access to the resource is denied,排查半天发现是 GITHUB_TOKEN 权限不足。


7.1 一个公共镜像被投毒的午夜惊魂

2021 年我在一家电商公司,团队使用 alpine:latest 作为基础镜像。某天深夜,安全团队紧急通知:Docker Hub 上某个版本的 alpine 镜像被植入挖矿程序,我们的 CI 日志

Agent生产部署四支柱:K3S、Dockerfile、GitHub Actions与ConfigMap Agent并非仅依赖大模型调用逻辑,其工程化落地本质是构建可交付、可运维的服务系统。从容器化封装、声明式编排、自动化流水线到配置动态管理,核心在于实现环境一致性、行为可复现与运行时弹性。K3S提供轻量但标准的Kubernetes运行时,支撑多Agent服务协同与服务发现;Dockerfile作为镜像构建契约,通过多阶段构建与非root用户隔离保障安全与可复现性;GitHub Actions将部署流程代码化,实现基于Git提交的可信发布与自动回滚;ConfigMap则解耦配置与代码,使同一镜像适配测试、预发、 阅读详情

相关推荐

Trivy实战:容器镜像漏洞扫描与CI/CD安全左移集成指南

容器安全是云原生架构的核心支柱,其关键在于对容器镜像进行持续的安全评估。通过漏洞扫描技术,系统能够自动识别镜像中操作系统包和应用依赖的已知安全漏洞,如CVE(公共漏洞披露)。其工作原理通常基于软件物料清单(SBOM)与权威漏洞数据库(如NVD、GitHub Security Advisories)进行匹配,从而评估风险。这项技术的核心价值在于实现安全左移,将安全检测前置到开发与构建阶段,从源头降低风险。典型的应用场景包括集成到CI/CD流水线中,作为代码提交或镜像构建后的自动化质量门禁,以及对企业私有镜像仓

weixin_30730053的博客 356

Harbor自动化测试框架:基于Pytest与Playwright的CI/CD质量保障实践

在软件工程领域,自动化测试是保障软件质量、提升交付效率的核心实践。其原理在于通过脚本模拟用户操作或系统调用,替代重复性人工验证,实现快速、可重复的回归测试。对于容器化与云原生基础设施,自动化测试的技术价值尤为突出,它能确保核心服务的稳定性,为持续集成与持续部署(CI/CD)流水线提供可靠的质量门禁。以企业级容器镜像仓库Harbor为例,其作为CI/CD流水线的关键节点,涉及镜像管理、漏洞扫描、复制策略等复杂功能,对自动化测试有着迫切需求。通过构建一个专属的自动化测试框架,可以系统化地覆盖API与UI测试,将

weixin_26749245的博客 302

Trivy实战:5分钟搞定Docker镜像安全扫描与CI/CD集成

在云原生与容器化部署成为主流的今天,软件供应链安全已成为开发运维流程中的关键环节。其核心在于对应用依赖的软件成分进行持续的风险识别与管理,而漏洞扫描正是实现这一目标的基础技术。通过比对软件包信息与权威漏洞数据库,扫描工具能够精准定位已知安全威胁,评估其严重性,并提供修复指引。这项技术的工程价值在于将安全检测“左移”,无缝集成至CI/CD流水线,实现自动化安全门禁,从而有效管控从开发到部署各阶段的风险。对于广泛使用的Docker镜像,开源工具Trivy凭借其快速、准确、易用的特点,成为实现这一实践的流行选择。

weixin_30301449的博客 307

Trivy镜像漏洞扫描:从原理到CI/CD集成的容器安全实践

在云原生和DevOps实践中,容器安全是保障应用供应链安全的关键环节。容器镜像作为应用交付的载体,其包含的操作系统层、运行时库和依赖包都可能存在已知漏洞,形成潜在攻击面。通过漏洞扫描技术,可以系统性地识别这些风险,其原理在于将镜像解构为软件物料清单(SBOM),并与持续更新的漏洞数据库进行匹配,覆盖从系统包到语言依赖的多层次检测。这种技术的核心价值在于实现安全左移,将安全检查无缝嵌入开发流程,降低修复成本。在实际应用场景中,轻量级命令行工具如Trivy,凭借其零配置和快速扫描的特性,成为集成到CI/CD流水

weixin_34293911的博客 378

告别Docker Commit:从Dockerfile到CI/CD的规范化镜像构建实践

容器镜像是现代云原生应用的核心交付物,其构建方式直接决定了应用部署的可靠性与安全性。Dockerfile作为声明式的构建蓝图,通过逐层指令定义了从基础镜像到最终产物的完整过程,确保了构建的可重复性与可审计性。相比记录容器快照的docker commit方式,Dockerfile结合层缓存机制能显著优化构建速度与镜像体积。在工程实践中,通过多阶段构建实现编译环境与运行环境的分离,配合Alpine等轻量基础镜像,可构建出极致精简的生产镜像。进一步集成到CI/CD自动化流水线中,结合镜像漏洞扫描与清晰的标签策略,

xpp02的专栏 431

依赖扫描实战指南:从工具选型到CI/CD集成,构建软件供应链安全防线

在软件供应链安全领域,依赖扫描是保障应用安全的核心实践。其基本原理是通过分析项目的依赖声明文件(如pom.xml、package.json),构建完整的依赖关系图,并与持续更新的漏洞数据库(如NVD、GitHub Advisory)进行比对,从而自动化识别已知安全漏洞。这项技术的核心价值在于将安全能力“左移”,从开发阶段就介入风险管控,能有效避免因第三方库漏洞导致的生产安全事故,并大幅降低后期修复成本。在实际应用场景中,开发者需要根据技术栈和团队规模,选择合适的扫描工具(如Trivy、OWASP Depen

chengyixian7877的博客 392

相机标定-张正友棋盘格标定法

(X,Y,Z)为在世界坐标系下一点的物理坐标 ( u , v ) 为该点对应的在像素坐标系下的像素坐标 引入齐次坐标的原因:引入齐次坐标的目的是为了升维,将坐标从二维坐标变为三维坐标。 2.相机成像过程 相机成像系统中,共包含四个坐标系:世界坐标系、相机坐标系、图像坐标系、像素坐标系。 (1)世界坐标系(,,) 描述目标在真实世界中的位置引入的参考坐标系。 (2)相机坐标系(,,) ...

qq_41275123的博客 1万+

IO多路转接 ——— select、poll、epoll

select是系统提供的一个多路转接接口。select函数的函数原型如下: 参数说明:参数timeout的取值:返回值说明:select调用失败时,错误码可能被设置为:fd_set结构与sigset_t结构类似,fd_set本质也是一个位图,用位图中对应的位来表示要监视的文件描述符。 调用select函数之前就需要用fd_set结构定义出对应的文件描述符集,然后将需要监视的文件描述符添加到文件描述符集当中,这个添加的过程本质就是在进行位操作,但是这个位操作不需要用户自己进行,系统提供了一组专门的接口,用

2021dragon的博客 7979

具身智能:从理论突破到场景落地的全解析

具身智能(Embodied Intelligence)是人工智能与机器人学深度融合的前沿领域,其核心在于通过物理实体与环境的动态交互实现智能行为。区别于传统 AI 的 “离身性”(如语音助手仅依赖数据输入),具身智能强调 “智能体通过身体感知世界并反作用于环境”,形成 “感知 - 决策 - 行动” 的闭环。例如,能自主避障的配送机器人、可精准抓取异形物体的机械臂,均通过传感器网络与环境实时互动,在试错中优化行为策略。

LeeKumaの技术Note 2683

刷题单向链表

实现一个数据结构,维护一张表(最初只有一个元素 11)。接下来 qq 行,每行表示一次操作,操作具体间题目描述。a[i] 里面放的是下一个元素,为0代表链表结束。如单链表1->4 -> 2->3->0用数组表示是。对于每个操作 2,输出一个数字,用换行隔开。第一行一个整数 qq 表示操作次数。

power的专栏 1714

DSSAD自动驾驶行车记录系统体系结构和应用

通过对其感知、决策、控制等模块的详细研究,以及对商业化和消费市场发展趋势的分析,为该领域的研究和实践提供有价值的参考。通过克服技术、安全与隐私、法规与政策等方面的挑战,并紧跟人工智能、云端服务、用户体验等发展趋势,DSSAD系统将更好地适应自动驾驶行业的发展,提供更安全、智能、便捷的驾驶辅助服务。DSSAD体系结构通过数据收集模块、加密链接和数据存储模块和数据读取模块等关键模块的协同作用,构建了一个强大而灵活的自动驾驶数据记录系统,为未来智能出行提供了坚实的技术基础。

一只老虎的专栏 2208

Win10 开机突然蓝屏错误代码0xc0000001安全模式也进不了,不用重装系统怎么修复?(已解决)九个解决参考方案

Win 10专业版HP480G7。

本博客,博文仅代表个人操作经验,不能完全解决你的问题,仅供参考,佛系回复。 1万+

【模型之美】3、文本聚类与智能摘要,让AI帮你做个总结

在信息过载时代,文本聚类与摘要技术成为关键工具。本文提出了一种结合OpenAI Embedding与传统机器学习的方法,实现从文本预处理到智能分析的完整流程。技术方案分为三阶段:1)通过Embedding将文本转化为语义向量;2)采用K-Means等算法进行无监督聚类;3)利用大模型生成可解释的标签和摘要。实验证明,该方法能有效提升信息处理效率,如在新闻聚合系统中自动分类10,000篇文章,准确率较传统方法提高15%。方案包含实用代码示例,涵盖文本清洗、向量化、聚类优化等关键技术细节,可应用于对话记忆、舆情

2025博客之星Top81。专注AI工程化与架构实战。从分布式思维到模型部署,用工程化视角为你厘清AI落地的真实路径。 1440

YOLO11改进|注意力机制篇|引入ELA注意力机制

YOLO11添加ELA注意力机制

A1983Z的博客 3648

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

上一篇: 第6章:容器日志与监控——用 ELK 或 Loki 收集容器日志
下一篇: 第8章:从 Docker 到 K8s 的过渡——使用 kind/minikube 本地运行 K8s
sfishfly
博客等级 码龄1年 17粉丝 211原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值