带镜像的Docker私有注册表
我创建了两个Docker容器。第一个是私人Docker注册表,第二个是官方Docker注册表的镜像:带镜像的Docker私有注册表,docker,docker-registry,Docker,Docker Registry,我创建了两个Docker容器。第一个是私人Docker注册表,第二个是官方Docker注册表的镜像: docker run -d --name registry -v /local/path/to/registry:/registry -e SETTINGS_FLAVOR=local -e STORAGE_PATH=/registry -p 5000:5000 registry docker run -d --name mirror -v /local/path/to/mirror:/regi
docker run -d --name registry -v /local/path/to/registry:/registry -e SETTINGS_FLAVOR=local -e STORAGE_PATH=/registry -p 5000:5000 registry
docker run -d --name mirror -v /local/path/to/mirror:/registry -e STORAGE_PATH=/registry -e STANDALONE=false -e MIRROR_SOURCE=https:/registry-1.docker.io -e MIRROR_SOURCE_INDEX=https://index.docker.io -p 5555:5000 registry
现在我想把两者结合起来。每当用户提取映像时,它应该首先查询私有注册表,然后查询镜像。当图像被推送时,它们只应该被推送到私有注册表
我不知道如何做到这一点。非常感谢您的帮助。存储库名称应为全局名称,即存储库
redis
始终引用Docker Hub的官方redis映像。如果要使用私有注册表,请在存储库名称前加上注册表名,例如localhost.localdomain:5000/myimage:mytag
因此,当您拉或推时,它将自动转到相关注册表。镜像应该很容易设置,只需使用--registry mirror=
参数将URL传递给守护进程即可
这对于企业用户来说并不完美,因此,您不能仅仅强制所有docker push命令推送到您的私有注册表。一个原因是,您可以拥有任意数量的寄存器。您必须首先通过标记图像来告诉docker要推到哪里(见下图)
下面是如何设置docker主机以与正在运行的私有注册表和本地镜像一起工作
客户端设置
假设您在名为dockerstore的(可解析)主机上同时运行镜像和私有注册表。端口5555上的镜像,5000上的注册表
然后在客户机计算机上,您应该向docker守护程序启动传递额外的选项。就你而言:
--注册表镜像=http://dockerstore:5555
告诉守护进程更喜欢使用本地镜像而不是dockerhub李>
--不安全的注册表dockerstore:5000
,无需进一步配置即可访问专用注册表。看docker pull debian
在输出中,将显示一条消息,说明正在从镜像中提取图像-dockerstore:5000
使用本地注册表
要将推送到私有注册表,首先必须用注册表的全名标记要推送到的图像。确保在中有一个点或冒号,以告诉docker应该将图像推送到私有注册表
Docker查找“.”(域分隔符)或“:”(端口分隔符),以了解存储库名称的第一部分是位置,而不是用户名
例如:
将30d39e59ffe2图像标记为dockerstore:5000/myapp:stable
将其推送到私有注册表
docker push dockerstore:5000/myapp:stable
然后你也可以拉
docker pull dockerstore:5000/myapp:stable
明确地说,我们确认:
目前无法镜像另一个私有注册表。只有
中央集线器可以镜像
对不起,我使用这个方法来创建镜像,但它不起作用。你能帮助我吗?404在您的
--注册表镜像链接上。请参阅,以了解我恢复/替换上述丢失内容的请求。问题是如何镜像官方注册,而不是私人注册。此外,应该使用私有注册表,但要镜像。所以,最好的解决方案可能是使用Docker的Red Hat's fork(v1.10)。您可以同时使用“-add registry”和“-registry mirror”标志。我发现这样做还有一个额外的好处,就是可以通过镜像(从官方图书馆)提取图像,将其推回到私有注册中心,然后从私有注册中心提取图像,而无需对图像进行任何重新标记。
docker pull dockerstore:5000/myapp:stable