尝试推送到我的私人存储库时,我不断收到404错误。 为什么?
我做了一个registry完全如何在docker文件中说,由于某种原因,当我尝试推送一个图像,它会抛出一个404错误在我身上。
这里是错误Error: Status 404 trying to push repository stelasite: "404 page not found\n"
而在服务器端,这11/8/2015 6:33:00 PM173.12.71.226 - - [08/Nov/2015:23:33:00 +0000] "GET /v2/ HTTP/1.1" 401 87 "" "docker/1.8.2-fc22 go/go1.5.1 kernel/4.2.3-200.fc22.x86_64 os/linux arch/amd64" 11/8/2015 6:33:05 PM173.12.71.226 - - [08/Nov/2015:23:33:05 +0000] "PUT /v1/repositories/stelasite/ HTTP/1.1" 404 19 "" "docker/1.8.2-fc22 go/go1.5.1 kernel/4.2.3-200.fc22.x86_64 os/linux arch/amd64"
有谁知道发生了什么事? 显然它不能连接到v1 api,但我不知道为什么dockercli甚至会尝试。
我有同样的问题,并通过让我的本地docker环境,以解决它。
我的问题的原因是我的Docker客户端太旧,或者我的Docker客户端(1.7.1)和docker-machine VM(1.8.1)之间的docker版本不匹配。 我有一个版本不匹配,因为我创build了虚拟机,然后降级我的docker客户端。 registry上的访问日志表示客户端是1.8.1,即使我的主机系统有1.7.1。 我删除了docker-machine虚拟机( docker-machine rm <environment name>
),然后卸载Docker并通过Homebrew重新安装1.10.0。
如果您在负载均衡器后面运行多个Dockerregistry,则另一个可能导致推送问题的事情是HTTP秘密不匹配。 你需要使用环境variablesREGISTRY_HTTP_SECRET
将它们全部设置为相同的东西,或者像这样在configuration文件中:
http: secret: mysecret
我从2013年看到一篇博客文章,声称这个秘密需要长达64个字符,但我没有在文档中看到
当registry机器响应非常慢时,我有同样的错误。 在我的情况下,这是一个DNS服务器的问题。
改变DNS服务器,再次推进工作。 您可以通过ping分发服务器来testing它,看看响应速度是非常慢还是parsing主机名。
如果使用–debug运行docker,则这是来自日志的输出:
DEBU[0013] Calling POST /images/{name:.*}/push INFO[0013] POST /v1.20/images/docker-distribution.company.net:5000/nginx/push?tag= DEBU[0023] hostDir: /etc/docker/certs.d/docker-distribution.company.net:5000 DEBU[0033] Trying to push docker-distribution.company.net:5000/nginx to https://docker-distribution.company.net:5000 v2 DEBU[0038] Error getting v2 registry: Get https://docker-distribution.company.net:5000/v2/: net/http: request canceled while waiting for connection DEBU[0038] Trying to push docker-distribution.company.net:5000/nginx to https://docker-distribution.company.net:5000 v1 DEBU[0038] hostDir: /etc/docker/certs.d/docker-distribution.company.net:5000 DEBU[0038] attempting v2 ping for registry endpoint https://docker-distribution.company.net:5000/v2/ DEBU[0043] Endpoint https://docker-distribution.company.net:5000/v2/ is eligible for private registry. Enabling decorator.
您可以看到错误是“请求在等待连接时被取消”。
- docker集装箱可以连接到SRIOV虚拟function吗?
- Docker Registry REST API授权
- 我如何构build一个Docker镜像,并使用CIRCLE 2.0将其推送到ECR?
- 如何用phpmyadmin启动Docker
- 什么是混搭攻击? (Docker – 快照键)
- 无法使用pip安装docker-compose,“ImportError:No module named dockerpycreds”
- 依赖容器以及与IBM DevOps Services构buildpipe道的链接
- 如何在.gitlab-ci.yml中的docker容器中装入卷?
- Docker,同一networking上的多个MySQL容器 – 间歇性的连接问题