快速参考
-
由……维护: (注:原文中“Maintained by:”后面应该会有具体的维护者信息,若有完整内容,翻译会更加准确。这里仅根据给定的部分进行了翻译。)
Docker 公司 -
哪里可以获得帮助:
Docker 社区 Slack、Server Fault、Unix & Linux 或 Stack Overflow
支持的标签及各自的 Dockerfile 链接
快速参考(续)
-
在哪里提交问题:
https://github.com/docker/notary-official-images/issues -
已发布的图像伪影细节:
repo-info repo 的repos/notary/目录(历史记录)
(图像元数据、传输大小等) -
图像更新:
官方图像仓库的library/notary标签
官方图像存储库的library/notary文件(历史记录) -
此描述的来源:
文档库的notary/目录(历史记录)
如何使用此存储库
公证存储库包含两个不同的应用程序,公证服务器(Notary Server)和公证签名者(Notary Signer)。这些应用程序的镜像分别标记为“server - *”和“signer - *”。虽然服务器可以配置为完全在内存中运行,但这种配置不适用于生产部署,因此您应该预期同时运行服务器和签名者。
确保您正在运行的图像具有相似的版本标签。也就是说,如果您正在运行 server - 0.2.0 标签,那么您也应该运行类似的 signer - 0.2.0 标签。运行服务器和签名者的不同版本永远不会是一种受支持的配置。
公证服务器
公证服务器为公证客户端和 docker 命令行工具的 Docker 内容信任功能管理 JSON 格式的 TUF(更新框架)元数据。它需要一个配套的公证签名者实例和一个 MySQL(或 MariaDB)数据库。
如何使用此图像
以下示例配置包含在图像中:
{
"server": {
"http_addr": ":4443",
"tls_key_file": "/certs/notary-server.key",
"tls_cert_file": "/certs/notary-server.crt"
},
"trust_service": {
"type": "remote",
"hostname": "notarysigner",
"port": "7899",
"tls_ca_file": "/certs/root-ca.crt",
"key_algorithm": "ecdsa",
"tls_client_cert": "/certs/notary-server.crt",
"tls_client_key": "/certs/notary-server.key"
},
"logging": {
"level": "info"
},
"storage": {
"backend": "mysql",
"db_url": "server@tcp(mysql:3306)/notaryserver?parseTime=True"
}
}
您必须提供的组件是证书和密钥,以及 notarysigner 和 mysql 主机名的链接。 root-ca.crt 文件使公证服务器能够识别有效的签名者,它通过使用 GRPC 接口通过相互 TLS 与之通信。 notary-server.crt 和 notary-server.key 用于向外部客户端和签名者实例标识此服务。所有证书和密钥文件必须可供在容器内部创建并拥有公证服务器进程的公证用户读取。
如果您需要不同的配置,您应该使用自己的 Dockerfile 来封装此映像。
有关如何配置您的公证服务器的更多详细信息,请阅读文档。
公证签名人
公证签名者是公证服务器的支持服务。它管理私钥并执行所有签名操作。它需要一个 MySQL(或 MariaDB)数据库。
如何使用此图像
以下示例配置包含在图像中:
{
"server": {
"http_addr": ":4444",
"grpc_addr": ":7899",
"tls_cert_file": "/certs/notary-signer.crt",
"tls_key_file": "/certs/notary-signer.key",
"client_ca_file": "/certs/notary-server.crt"
},
"logging": {
"level": "info"
},
"storage": {
"backend": "mysql",
"db_url": "signer@tcp(mysql:3306)/notarysigner?parseTime=True"
}
}
您必须提供的组件是证书和密钥,以及 mysql 主机名的链接。 notary-server.crt 文件使公证签名者能够识别有效的服务器,它通过相互 TLS 使用 GRPC 接口与之通信。 notary-server.crt 和 notary-server.key 用于向外部客户端和签名者实例标识此服务。所有证书和密钥文件必须可供在容器内部创建并拥有公证签名者进程的公证用户读取。
如果您需要不同的配置,您应该使用自己的 Dockerfile 来封装此映像。
有关如何配置您的公证签名者的更多详细信息,请阅读文档。
数据库迁移
公证服务器和签名者都使用迁移工具来管理数据库更新。迁移文件可以在此处找到,它们是一个有序的纯 SQL 文件列表。迁移工具管理模式版本,以确保迁移在正确的点开始和结束。
我们强烈建议您创建单独的数据库和具有受限权限的用户,以使服务器无法访问签名者的数据库,反之亦然。
许可证
查看此映像中所包含软件的许可证信息。
与所有 Docker 镜像一样,这些镜像可能还包含其他可能受其他许可证约束的软件(例如来自基础发行版的 Bash 等,以及所包含的主要软件的任何直接或间接依赖项)。
一些能够自动检测到的额外许可信息可能会在 repo-info 存储库的 notary/ 目录中找到。
对于任何预构建图像的使用,图像用户有责任确保对此图像的任何使用都符合其中包含的所有软件的任何相关许可。