如何解释这个docker注册表创建命令?

时间:2015-11-14 18:46:02

标签: docker dockerfile docker-compose docker-registry devops

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

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

另外,我不明白“注册表:2”需要什么?看起来像是“repository_name:tag”,它相当于图像名称。这是对的吗?

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

另外,我尝试使用“注册表:1”和“注册表: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

1 个答案:

答案 0 :(得分:1)

正如official registry image

中所述

Deploying a registry server页面使用新的注册服务器(具有更简单的映射):

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

这仅适用于localhost访问,因为从其他主机访问它将需要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

  

它似乎不适用于tags = 3

这是因为official page仅列出以下标记:

  

2,2.2,2.2.0(Dockerfile

没有标签3.