【问题标题】:Is Docker Trusted Registry mandatory to set up a Docker Private Registry?Docker Trusted Registry 是否必须设置 Docker Private Registry?
【发布时间】:2017-12-15 17:22:32
【问题描述】:
【问题讨论】:
标签:
docker
docker-registry
dtr
【解决方案1】:
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 本身用于您的注册表。不止一个私人回购需要付费计划。
还有registry api 的第三方实现。我知道的两个是 Nexus 和 Artifactory。