【Docker项目实战】使用Docker部署HarborGuard容器安全扫描平台一、HarborGuard介绍1.1 HarborGuard项目简介1.2 HarborGuard主要特点二、本次实践规划2.1 本地环境规划2.2 本次实践介绍三、本地环境检查3.1 检查Docker服务状态3.2 检查Docker版本3.3 检查docker compose 版本四、拉取HarborGuard镜像五、部署HarborGuard服务5.1 创建部署目录5.2 编辑部署文件5.3 创建HarborGuard容器5.4 查看HarborGuard容器状态5.5 检查HarborGuard容器日志六、访问HarborGuard服务七、HarborGuard基本使用八、总结一、HarborGuard介绍1.1 HarborGuard项目简介HarborGuard 是一个功能全面的容器安全扫描平台集成多种主流安全工具通过直观的 Web 界面帮助开发者和团队轻松管理与可视化 Docker 镜像的安全评估涵盖漏洞检测、SBOM 生成与最佳实践检查让容器安全变得清晰可控。1.2 HarborGuard主要特点 全面的扫描能力集成 Trivy、Grype、Syft、Dockle、OSV Scanner 和 Dive 六大主流工具覆盖漏洞扫描、SBOM 生成与配置合规检查。 智能结果分析自动对发现的漏洞进行分类与严重性评估提供清晰的安全风险概览。 先进的可视化界面支持交互式散点图、历史扫描对比和实时进度监控让安全数据一目了然。 开发者友好设计基于 React 19 Next.js 15 与 TypeScript 构建技术栈现代易于二次开发与维护。 灵活的数据存储支持 SQLite 和 PostgreSQL 数据库满足从轻量部署到企业级应用的不同需求。⚙️ 简便的配置管理通过环境变量即可完成全部配置适配多种部署环境提升部署效率。 企业级功能支持提供 RESTful API支持批量导出报告与持久化存储扫描历史便于集成与审计。 实时交互体验界面响应迅速支持按严重性过滤、分组查看帮助团队快速定位关键问题。二、本次实践规划2.1 本地环境规划本次实践为个人测试环境操作系统版本为 Ubuntu 24.04.2 LTS。hostnameIP地址操作系统版本Docker版本部署项目备注jeven192.168.3.88Ubuntu 24.04.2 LTS28.5.0HarborGuard——2.2 本次实践介绍1.本次实践部署环境为个人测试环境生产环境请谨慎2.在Docker环境下部署HarborGuard容器安全扫描平台。三、本地环境检查3.1 检查Docker服务状态检查Docker服务是否正常运行确保Docker正常运行。rootjeven:~# systemctl status docker● docker.service - Docker Application Container Engine Loaded: loaded(/usr/lib/systemd/system/docker.service;enabled;preset: enabled)Active: active(running)since Sat2025-10-0413:29:05 UTC;2days ago TriggeredBy: ● docker.socket Docs: https://docs.docker.com Main PID:888(dockerd)Tasks:65Memory:1.2G(peak:1.4G)CPU: 3min23.296s CGroup: /system.slice/docker.service3.2 检查Docker版本检查Docker版本rootjeven:~# docker -vDocker version28.5.0, build 887030f3.3 检查docker compose 版本检查Docker compose版本确保2.0以上版本。rootjeven:~# docker compose versionDocker Compose version v2.39.4四、拉取HarborGuard镜像下载HarborGuard容器镜像镜像名称为registry.cn-hangzhou.aliyuncs.com/jeson/harborguard:latest。dockerpull registry.cn-hangzhou.aliyuncs.com/jeson/harborguard:latest五、部署HarborGuard服务5.1 创建部署目录创建HarborGuard部署目录mkdir-p/data/harborguard/datacd/data/harborguard设置目录权限chmod-R777/data/harborguard5.2 编辑部署文件使用docker-cli方式部署可参考以下命令dockerrun-d\--restartunless-stopped\--nameharborguard\-p3000:3000\-v/var/run/docker.sock:/var/run/docker.sock\-v$(pwd)/data:/data\-eDATABASE_URLfile:/data/app.db\registry.cn-hangzhou.aliyuncs.com/jeson/harborguard:latest在部署目录下创建docker-compose.yaml文件内容如下所示vimdocker-compose.yamlversion:3services:harborguard:image:registry.cn-hangzhou.aliyuncs.com/jeson/harborguard:latestcontainer_name:harborguardrestart:alwaysports:-3900:3000volumes:-/var/run/docker.sock:/var/run/docker.sock-/data/harborguard/data:/data环境变量参考变量名描述默认值有效值示例扫描仪配置MAX_CONCURRENT_SCANS限制并行扫描器的执行以防止资源耗尽31-20MAX_CONCURRENT_SCANS5SCAN_TIMEOUT_MINUTES允许单个扫描仪执行的最大时间分钟305-180SCAN_TIMEOUT_MINUTES60ENABLED_SCANNERS启用的扫描仪逗号分隔列表trivy,grype,syft,dockle,osv,dive任意组合trivy、grype、syft、dockle、osv、diveENABLED_SCANNERStrivy,grype日志记录和调试LOG_LEVEL控制应用程序日志的详细程度infodebug, info, warn, errorLOG_LEVELdebug数据库与维护DATABASE_URLPostgreSQL 数据库连接字符串捆绑的PostgreSQL外部PostgreSQL:postgresql://user:passhost:port/dbDATABASE_URL“postgresql://user:passlocalhost:5432/harborguard”CLEANUP_OLD_SCANS_DAYS自动删除比指定天数更旧的扫描记录301-365CLEANUP_OLD_SCANS_DAYS905.3 创建HarborGuard容器执行以下命令创建HarborGuard容器。dockercompose up-d5.4 查看HarborGuard容器状态检查HarborGuard容器运行状态确保HarborGuard容器正常启动。rootjeven:/data/harborguard# docker compose psWARN[0000]/data/harborguard/docker-compose.yaml: the attributeversionis obsolete, it will be ignored, please remove it to avoid potential confusion NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS harborguard registry.cn-hangzhou.aliyuncs.com/jeson/harborguard:latestdocker-entrypoint.s…harborguard19seconds ago Up19seconds(health: starting)5432/tcp,0.0.0.0:3900-3000/tcp,[::]:3900-3000/tcp5.5 检查HarborGuard容器日志检查容器运行日志确保HarborGuard服务正常运行。dockercompose logs六、访问HarborGuard服务浏览器地址http://个人的服务器IP:3900访问HarborGuard初始页。如果无法访问请确保宿主机的防火墙已关闭或已放行相关端口对于云服务器还需配置相应的安全组规则。七、HarborGuard基本使用在HarborGuard首页点击左侧菜单栏 New Scan— Local ——搜索本地镜像选择其中一个本地容器镜像确定开始扫描。等待一段时间扫描完成后结果如下所示八、总结本次实践通过Docker成功部署了HarborGuard容器安全扫描平台整个过程简单高效仅需几步操作即可完成环境搭建。HarborGuard提供了丰富的扫描功能和灵活的配置选项能有效满足容器安全检测需求帮助用户及时发现镜像潜在风险。通过实际操作验证了平台的可用性其直观的界面和多样化的扫描工具让容器安全管理更加便捷。HarborGuard是一款实用的容器安全扫描工具适合各类场景下的容器镜像安全检测工作。