如何解释这个dockerregistry创build命令?

以下命令的解释是否正确?

我的解释:创build一个名为“registry”的registry,它监听映射到主机端口5001的容器的端口5002。

另外,我不明白什么是“registry:2”所需的? 看起来像是“repository_name:tag”,相当于图像名称。 它是否正确?

docker run -d -p 5001:5002 --restart=always --name registry registry:2 

此外,我尝试使用“registry:1”和“registry:3”这是行不通的。 它只适用于我使用“registry:2”。

  ✘  ~  docker run -d -p 5001:5002 --restart=always --name new_registry registry:3 Unable to find image 'registry:3' locally Pulling repository docker.io/library/registry Tag 3 not found in repository docker.io/library/registry ✘  ~  docker run -d -p 5001:5002 --restart=always --name new_registry registry:1 Unable to find image 'registry:1' locally Pulling repository docker.io/library/registry Tag 1 not found in repository docker.io/library/registry 

正如在官方registry中提到的那样

  • 标签> = 2引用新的registry
  • 旧标签引用了不推荐的registry 。

部署registry服务器页面使用新的registry服务器(使用更简单的映射):

 docker run -d -p 5000:5000 --restart=always --name registry registry:2 

这只适用于本地主机访问,因为从其他主机访问它将需要SSL证书。

 docker run -d -p 5000:5000 --restart=always --name registry \ -v `pwd`/certs:/certs \ -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/domain.crt \ -e REGISTRY_HTTP_TLS_KEY=/certs/domain.key \ registry:2 

OP Zack 在评论中补充道:

看来它不适用于标签= 3

那是因为官方网页只列出了以下标签:

2,2.2,2.2.0 ( Dockerfile )

没有标签3。