docker推送到私人注册表挂起

时间:2015-04-06 17:35:35

标签: docker docker-registry

我已经设置了,来自docker hub的repl提供的docker-registry和官方docker注册表映像都有我遇到的相同问题。

我有一个用docker注册表主机名和端口等标记的图像,然后尝试将其推送到注册表。

在按Enter键时,它似乎运行正常,检查注册表已有的图像层。一旦它开始推动它没有的图像层,它就会挂起;永远呆在那里,直到我ctrl + c出来

示例:

[root@docker1 ~]# docker push docker1:5000/centos:7
The push refers to a repository [docker1:5000/centos] (len: 1)
Sending image list
Pushing repository docker1:5000/centos (1 tags)
Image 511136ea3c5a already pushed, skipping
Image 5b12ef8fd570 already pushed, skipping
5c5681003a50: Pushing [>                                                  ] 1.584 MB/220.5 MB 2m9s

在正在运行的docker-registry容器的docker日志中,它具有:

10.10.10.2 - - [06/Apr/2015:17:11:01 +0000] "PUT /v1/images/f6808a3e4d9e80a655ec625e38b869ed8a614611e4d0073aeff23be841c9fcff/json HTTP/1.1" 200 4 "-" "docker/1.1.1 go/go1.2.1 git-commit/bd609d2 kernel/3.15.3-tinycore64 os/linux arch/amd64"
06/Apr/2015:17:11:02 +0000 DEBUG: args = {'image_id': u'f6808a3e4d9e80a655ec625e38b869ed8a614611e4d0073aeff23be841c9fcff'}

并且我没有看到任何错误。

我试过从远程服务器上本地推送到自己,并且仍然是相同的。 iptables已关闭,selinux也是如此。

不确定还有什么可以尝试。

此致 ķ

1 个答案:

答案 0 :(得分:0)

我确实在我的测试中发现,如果我推送到localhost它会工作正常,但通过主界面它会失败。再次没有IPTables等运行。

我已经解决了这个问题,通过拉动nginx映像,并在其上运行proxy_pass到注册表。

我确实要设置

client_max_body_size 0;

因为需要411长度'错误,最初。

这是一个快乐的解决方法,因为我最终还是希望将htaccess放在它面前,所以C' est la vie。

ķ