重要提示
自2023年起,Anchore Engine 已不再维护。未来将不再发布新版本。建议用户使用 Syft 和 Grype。
对于希望获得受支持的商用容器扫描与合规解决方案的用户,请预约演示,了解 Anchore Enterprise 广泛的企业级能力,包括 SBOM 管理、漏洞管理和合规管理。
关于
Anchore Engine 是一个开源项目,提供容器镜像的检查、分析和认证的集中式服务。Anchore Engine 以 Docker 容器镜像形式提供,可独立运行或运行在 Kubernetes、Docker Swarm、Rancher、Amazon ECS 等容器编排平台中。
在您的环境中部署 Anchore Engine 后,它会从兼容 Docker V2 的容器仓库下载并分析容器镜像,然后与漏洞数据库进行比对评估。
历史文档可在 Anchore 文档 中查阅。
Anchore Engine 可通过 RESTful API 或 Anchore CLI 直接访问。
支持的操作系统
支持的软件包
有多种方式可以开始使用 Anchore Engine。有关快速启动以及使用 docker-compose、Helm 和其他方式进行完整生产部署的最新信息,请访问:
Anchore Engine 以 Docker 镜像 形式分发,可从 DockerHub 获取。
有关完整的快速入门指南,请参阅文档。
要在一台已安装 docker(和 docker-compose)的系统上快速启动 Anchore Engine,请按以下简单步骤操作:
curl https://engine.anchore.io/docs/quickstart/docker-compose.yaml > docker-compose.yaml
docker-compose up -d
引擎启动并运行后,您即可开始使用 CLI 与系统交互。
Anchore CLI 是控制并与 Anchore Engine 交互的简便方式。
可以通过 Python pip 命令安装 Anchore CLI,或者通过 Anchore Engine CLI 容器镜像运行 CLI。有关代码及更多安装选项和用法,请参见 GitHub 上的 Anchore CLI 项目。
默认情况下,Anchore CLI 尝试无认证连接到 http://localhost:8228/v1 的 Anchore Engine。 用户名、密码和服务器的 URL 可以通过命令行参数传递给 Anchore CLI:
--u TEXT 用户名 例如 admin
--p TEXT 密码 例如 foobar
--url TEXT 服务 URL 例如 http://localhost:8228/v1
除了每次调用工具时传递这些参数外,也可以将它们设置为环境变量:
ANCHORE_CLI_URL=http://myserver.example.com:8228/v1
ANCHORE_CLI_USER=admin
ANCHORE_CLI_PASS=foobar
向 Anchore Engine 添加镜像:
anchore-cli image add docker.io/library/debian:latest
等待镜像进入“analyzed”状态:
anchore-cli image wait docker.io/library/debian:latest
列出 Anchore Engine 已分析的镜像:
anchore-cli image list
获取镜像概览和摘要信息:
anchore-cli image get docker.io/library/debian:latest
列出数据源并等待至少一次漏洞数据同步完成。首次同步可能需要一些时间(20-30分钟),之后同步仅合并增量。
anchore-cli system feeds list
anchore-cli system wait
获取镜像的漏洞扫描结果:
anchore-cli image vuln docker.io/library/debian:latest os
列出镜像中包含的操作系统软件包:
anchore-cli image content docker.io/library/debian:latest os
有关外部 API 定义(面向用户的服务),请参阅外部 API Swagger 规范。如果您已运行 Anchore Engine,还可以通过浏览器访问 http://:8228/v1/ui/ 来查看 Swagger(注意:必须包含末尾斜杠,嵌入式 Swagger UI 浏览器才能正常显示)。
每个服务都实现了自己的 API,所有 API 均以 Swagger/OpenAPI 规范定义。您可以在 anchore_engine/services/<服务名称>/api/swagger 目录中找到它们。
有关 Anchore CLI 与 Anchore Engine 配合使用的更多详情,请参考 Anchore Engine 文档。
该仓库已于 2020 年 11 月使用 Black 进行了重新格式化。由于此提交影响了大量文件,使用 git blame 时可在本地环境中忽略它。要忽略该提交,您需要配置 git-blame 使用提供的文件:.git-blame-ignore-revs 作为要忽略的提交列表。
在源代码根目录下运行以下命令,设置本地 git 配置以使用该文件:
git config blame.ignoreRevsFile .git-blame-ignore-revs