
目录
[1. 创建部署目录](#1. 创建部署目录)
[2. 启动服务](#2. 启动服务)
[3. 初始化配置重点](#3. 初始化配置重点)
[4. SBOM 上传示例(curl)](#4. SBOM 上传示例(curl))
[5. 常用运维命令](#5. 常用运维命令)
[6. 常见坑点](#6. 常见坑点)
[7. 离线环境说明](#7. 离线环境说明)
Dependency‑Track 是 SBOM 组件漏洞分析工具,官方推荐 docker-compose 一键部署,包含:API 服务、前端、PostgreSQL 数据库。
环境要求
- Docker & Docker Compose V2
- 内存建议 ≥4G(扫描依赖、NVD 漏洞库同步很吃内存)
- 磁盘预留 ≥20G(漏洞库、SBOM 报告存储)
1. 创建部署目录
bash
mkdir -p /opt/dependency-track
cd /opt/dependency-track
新建 docker-compose.yml
services:
dtrack-apiserver:
image: dependencytrack/apiserver:latest
container_name: dtrack-apiserver
restart: always
volumes:
- ./data:/data
environment:
- ALPINE_DATABASE_MODE=external
- ALPINE_DATABASE_URL=jdbc:postgresql://dtrack-db:5432/dtrack
- ALPINE_DATABASE_USERNAME=dtrack
- ALPINE_DATABASE_PASSWORD=dtrack@Passw0rd
- ALPINE_SECRET_KEY=SuperSecretKey-ChangeMe-12345678
# 漏洞源代理(内网环境配置)
# - HTTP_PROXY=http://192.168.x.x:8080
# - HTTPS_PROXY=http://192.168.x.x:8080
ports:
- "8081:8080"
depends_on:
dtrack-db:
condition: service_healthy
dtrack-frontend:
image: dependencytrack/frontend:latest
container_name: dtrack-frontend
restart: always
ports:
- "8080:8080"
environment:
- API_BASE_URL=http://dtrack-apiserver:8080
depends_on:
- dtrack-apiserver
dtrack-db:
image: postgres:15-alpine
container_name: dtrack-db
restart: always
volumes:
- ./postgres:/var/lib/postgresql/data
environment:
- POSTGRES_DB=dtrack
- POSTGRES_USER=dtrack
- POSTGRES_PASSWORD=dtrack@Passw0rd
healthcheck:
test: ["CMD-SHELL", "pg_isready -U dtrack -d dtrack"]
interval: 10s
timeout: 5s
retries: 5
⚠️ 生产务必修改:
ALPINE_DATABASE_PASSWORD、ALPINE_SECRET_KEY,不要使用示例密码。
2. 启动服务
bash
docker compose up -d
查看日志
bash
# 看api服务日志,初始化漏洞库时间很久
docker logs -f dtrack-apiserver
访问地址
- Web 前端:
http://服务器IP:8080 - API 接口:
http://服务器IP:8081

默认账号密码
用户名:admin
密码:admin
登录第一件事修改 admin 密码。
3. 初始化配置重点
- 漏洞数据源同步 登录后进入
Administration → Settings,漏洞源:NVD、OSV、GitHub Advisory Database。 首次同步漏洞库耗时几十分钟,不要重启容器。 - API Key
Administration → Access Keys创建 key,用于 CI 流水线上传 SBOM。
4. SBOM 上传示例(curl)
生成 SBOM 可以用 cyclonedx-maven、cyclonedx-python 等工具。
bash
curl -X POST "http://127.0.0.1:8081/api/v1/bom" \
-H "X-API-Key:你的AccessKey" \
-F "project=项目UUID" \
-F "bom=@./bom.json"
5. 常用运维命令
bash
# 停止
docker compose down
# 停止并清理数据(谨慎!)
docker compose down -v
# 升级版本
cd /opt/dependency-track
docker compose pull
docker compose up -d
6. 常见坑点
- 服务启动慢:apiserver 第一次启动会初始化数据库 + 拉取 NVD 漏洞库,内存低于 4G 会卡死 OOM。
- 前端打不开 :检查
API_BASE_URL,容器内部网络要能访问 apiserver。 - 漏洞同步失败 :服务器外网不通,配置
HTTP_PROXY代理;内网环境可离线导入 NVD 数据。 - PostgreSQL 版本:官方推荐 postgres14~15,不要用 17 高版本。
- 数据持久化:
./data和./postgres目录是全部数据,备份直接备份这两个文件夹。
7. 离线环境说明
内网无法访问外网漏洞源:
- 在外网机器下载 NVD/OSV 数据;
- Dependency‑Track 支持离线镜像导入漏洞数据库;
- SBOM 文件可以本地生成后手动页面上传。