0

不确定SO是否是提出以下问题的正确论坛。如果不是,请将它们移到正确的位置。

我想设置一个Docker Private Registry,,但在阅读了 Docker 的文档(和相关的SO问题)之后 - 我不确定是否:

有人可以回答上面的吗?

4

1 回答 1

2

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。

于 2017-12-15T20:52:09.250 回答