2015-11-14 20 views
4

以下命令的解释是否正确?如何解释这个码头注册表创建命令?

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

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

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

此外,我尝试使用“注册表:1”和“注册表:3”这没有奏效。它只在我使用“注册表: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 

回答

1

official registry image

Deploying a registry server页使用新的注册表服务器(带有一个简单的映射):

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增加in the comments

看来,它并不适用于标签工作= 3

这是因为official page只列出了以下标签:

2,2.2,2.2.0(Dockerfile

没有标签3

+0

使泊坞窗注册表就像搬运工人枢纽,但在这里我使用它作为一个本地/私有版本。所以我有一个私人注册表,我可以推送任何数量的图像,我想?此外,我尝试使用“注册表:3”和“注册表:1”,但它没有工作 – Zack

+0

我只是在我的问题中添加了一些更多的细节 – Zack

+0

您可以添加更多关于您提到“标签> = 2” 。它似乎不起作用的标签= 3 – Zack