如何将默认dockerregistry从docker.io更改为我的私有registry

默认情况下,如果我发出命令:

sudo docker pull ruby:2.2.1 

它会默认从docker.io官方网站拉。

 Pulling repository docker.io/library/ruby 

如何将其更改为我的私人registry。 这意味着如果我问题

 sudo docker pull ruby:2.2.1 

它会从我自己的私人registry中拉出,输出是这样的:

 Pulling repository my_private.registry:port/library/ruby 

更新:在您的评论之后,目前无法更改默认registry,请参阅此问题以获取更多信息。

你应该能够做到这一点,将主机和端口replace为你自己的:

 docker pull localhost:5000/registry-demo 

如果服务器是远程的/有auth你可能需要login到服务器:

 docker login https://<YOUR-DOMAIN>:8080 

然后运行:

 docker pull <YOUR-DOMAIN>:8080/test-image 

由于这个问题还没有真正回答…

你可以使用'–add-registry'标志来使用红帽的docker分支,或者你可以用registry / config.go自己build立docker来修改你自己的硬编码默认registry命名空间/索引。

看来它不会被支持,因为它会在社区内创build碎片(即两个用户将得到不同的图像拉ubuntu:latest )。 您只需在图像名称前添加主机。 看到这个Github的问题join讨论。

(请注意,这不是一个有意见的评论,只是在提到的github问题中可以遵循的讨论的一个非常简短的总结。)

早些时候,这可以通过在Ubuntu 14:04上运行的/etc/default/docker DOCKER_OPTSconfiguration文件中使用DOCKER_OPTS来实现, DOCKER_OPTS在Ubuntu 15:04上有一些问题 。 不知道这是否已经修复。

下面的代码需要进入运行docker守护进程的主机上的文件/etc/default/docker 。 指向私有registry的更改将安装在本地networking中。 注意:您需要重新启动Docker服务,然后进行此更改。

 DOCKER_OPTS="--insecure-registry <priv registry hostname/ip>:<port>" 

如果您使用的是Fedora发行版,则可以更改该文件

 /etc/containers/registries.conf 

添加域名docker.io