Docker 注册表是一个无状态的服务器端应用程序。可以使用注册表在适用于 vRealize Automation 的容器中存储和分发 Docker 映像。

要配置注册表,您需要提供其地址、自定义注册表名称和可选凭据。该地址必须以 HTTP 或 HTTPS 开头,以指示注册表是安全的还是不安全的。如果未提供连接类型,则默认情况下会使用 HTTPS。

注:

对于 HTTP,必须声明端口 80;对于 HTTPS,必须声明端口 443。如果未指定任何端口,则 Docker 引擎会假定端口 5000,这会导致断开连接。

注:

建议不要使用 HTTP 注册表,因为 HTTP 会被视为不安全。如果要使用 HTTP,您必须修改每个主机上的 DOCKER_OPTS 属性,如下所示:DOCKER_OPTS="--insecure-registry myregistrydomain.com:5000"。请参见 Docker 文档,网址为:https://docs.docker.com/registry/insecure/。

容器可以按以下方式与 Docker 注册表 HTTP API V1 和 V2 交互:

HTTP 上的 V1(不安全,纯 HTTP 注册表)

您可以随意搜索这种注册表,但必须手动为每个 Docker 主机配置 --insecure-registry 标记,以基于不安全注册表中的映像置备容器。设置该属性之后,必须重新启动 Docker 守护进程。

HTTPS 上的 V1

在反向代理(例如 NGINX)后面使用。可从以下开源网站获取标准实现:https://github.com/docker/docker-registry。

HTTPS 上的 V2

可从以下开源网站获取标准实现:https://github.com/docker/distribution。

HTTPS 上的 V2(带有基本身份验证)

可从以下开源网站获取标准实现:https://github.com/docker/distribution。

HTTPS 上的 V2(带有通过中央服务的基本身份验证)

可以在独立模式下运行 Docker 注册表,在这种模式下,不会进行任何授权检查。支持的第三方注册表包括 JFrog Artifactory 和 Harbor。默认情况下,Docker Hub 对所有租户处于启用状态,但可以使用系统属性来禁用它。

注:

Docker 一般不与配置了由未知机构签署的证书的安全注册表交互。容器服务会通过自动将不可信证书上载到所有 Docker 主机并使主机能够连接到这些注册表来处理这种情况。如果无法将证书上载到给定主机,则会禁用该主机。