不确定SO是否是提出以下问题的正确论坛。如果不是,请将它们移到正确的位置。
我想设置一个Docker Private Registry,
,但在阅读了 Docker 的文档(和相关的SO问题)之后 - 我不确定是否:
Docker Trusted Registry (DTR)
需要吗?- 我可以在Docker 免费计划
DTR
下设置一个吗?
有人可以回答上面的吗?
不确定SO是否是提出以下问题的正确论坛。如果不是,请将它们移到正确的位置。
我想设置一个Docker Private Registry,
,但在阅读了 Docker 的文档(和相关的SO问题)之后 - 我不确定是否:
Docker Trusted Registry (DTR)
需要吗?DTR
下设置一个吗?有人可以回答上面的吗?
Docker Trusted Registry 是 Docker Inc. 的商业产品。它包括本地注册服务器、与他们的 UCP 产品、RBAC 的可选集成、与公证人(更名为 Content Trust)的集成以进行图像签名,以及漏洞扫描。DTR 本身没有免费或开源版本。
Docker 确实有一个开源注册表产品,您可以下载并在自己的环境中作为容器运行。它在docker hub上可用。运行它很简单:
$ docker run -d -p 5000:5000 --restart=unless-stopped --name registry \
-v registry-data:/var/lib/registry \
-e "REGISTRY_STORAGE_FILESYSTEM_ROOTDIRECTORY=/var/lib/registry" \
registry:2
然后你可以推/拉到你的本地注册表:
$ docker tag your_image 127.0.0.1:5000/your_image:latest
$ docker push 127.0.0.1:5000/your_image:latest
$ docker pull 127.0.0.1:5000/your_image:latest
请注意,这被配置为不安全的注册表,还有更多步骤可以使用 TLS 使其安全并添加授权。要从其他主机连接到它,您需要将 TLS 添加到注册表,或者使用您的 IP 更新其他 docker 主机作为 dockerd 的不安全注册表。
如果您在云中发布公共图像,您也可以将 Docker Hub 本身用于您的注册表。不止一个私人回购需要付费计划。
注册表 api也有第三方实现。我知道的两个是 Nexus 和 Artifactory。