gpt4 book ai didi

Docker 本地注册表 : push fails

转载 作者:行者123 更新时间:2023-12-04 15:33:27 26 4
gpt4 key购买 nike

我正在尝试设置本地 docker 注册表,但是在尝试将图像推送到它时遇到了麻烦。我也打开了一个github问题:https://github.com/docker/docker/issues/12405

环境

操作系统:CentOS 6.6

内核:2.6.32-504.12.2.el6.x86_64

docker 版本:

$ sudo docker version
Client version: 1.5.0
Client API version: 1.17
Go version (client): go1.4.1

我支持公司代理 ( http://domain\username:password@proxy:port)。

问题

我正在使用以下命令启动 Docker 守护程序:
sudo docker -d --insecure-registry 127.0.0.1:49500&

我已经从 docker-registry github 下载了 config_sample.yml 文件,将其重命名为 registry_config.yml,并且只是修改了本地风格中的“storage_path”(为了指向我想要安装卷的选定目录) :
local: &local
<<: *common
storage: local
storage_path: /image

要启动注册表(版本 0.9.1),我在终端中打开另一个选项卡并使用该命令:
sudo docker run -t -i -p 127.0.0.1:49500:5000 -v $HOME/localRegistry/image:/image -e DOCKER_REGISTRY_CONFIG=$HOME/localRegistry/registry_config.yml --name registry registry /bin/bash

回到第一个终端选项卡,然后我尝试将随机图像推送到本地注册表中,这就是我遇到一些错误的地方:
$sudo docker push 127.0.0.1:49500/centos:7
INFO[1215] POST /v1.17/images/127.0.0.1:49500/centos/push?tag=7
INFO[1215] +job push(127.0.0.1:49500/centos)
INFO[1215] +job resolve_repository(127.0.0.1:49500/centos)
INFO[1215] -job resolve_repository(127.0.0.1:49500/centos) = OK (0)
invalid registry endpoint "http://127.0.0.1:49500/v0/". HTTPS attempt: unable to ping registry endpoint https://127.0.0.1:49500/v0/
v2 ping attempt failed with error: Get https://127.0.0.1:49500/v2/: read tcp 127.0.0.1:49500: connection reset by peer
v1 ping attempt failed with error: Get https://127.0.0.1:49500/v1/_ping: read tcp 127.0.0.1:49500: connection reset by peer. HTTP attempt: unable to ping registry endpoint http://127.0.0.1:49500/v0/
v2 ping attempt failed with error: Get http://127.0.0.1:49500/v2/: read tcp 127.0.0.1:49500: connection reset by peer
v1 ping attempt failed with error: Get http://127.0.0.1:49500/v1/_ping: read tcp 127.0.0.1:49500: connection reset by peer
INFO[1215] -job push(127.0.0.1:49500/centos) = ERR (1)
ERRO[1215] Handler for POST /images/{name:.*}/push returned error: v1 ping attempt failed with error: Get http://127.0.0.1:49500/v1/_ping: read tcp 127.0.0.1:49500: connection reset by peer
ERRO[1215] HTTP Error: statusCode=500 v1 ping attempt failed with error: Get http://127.0.0.1:49500/v1/_ping: read tcp 127.0.0.1:49500: connection reset by peer
FATA[0000] Error: v1 ping attempt failed with error: Get http://127.0.0.1:49500/v1/_ping: read tcp 127.0.0.1:49500: connection reset by peer

问我是否需要更具体的细节。感谢您的关注 :)

更新

我没有注意到,但自从我昨天从 Docker 1.4.1 升级到 1.5.0,似乎 docker 无法通过代理访问集线器(sudo docker search 失败)。我通过导出 HTTP_PROXY 和 HTTPS_PROXY 环境变量并使用 sudo -E 启动守护程序来解决这个问题。

然后,正如 Sger 指出的那样,我并没有将我的配置文件放入注册表容器中。因此,注册表无法访问配置。我通过将配置文件移动到它自己的目录中,并在运行注册表容器时将该目录安装为一个卷来改变它。新的运行命令:
sudo docker run -t -i -p 127.0.0.1:49500:5000 -v $HOME/localRegistry/image:/image -v $HOME/localRegistry/configDir:/configDir -e DOCKER_REGISTRY_CONFIG=configDir/config.yml --name registry registry /bin/bash

在这两个修改之后,我再次测试,这次运行带有 -D 选项的 docker daemon。这是输出(分为 3 部分):

https://gist.github.com/ekeryelleven/9714312c45b7ff21ce2a

我启动了注册表容器(从另一个终端选项卡): https://gist.github.com/ekeryelleven/b9bfa50bfe3221798659

然后,我推了: https://gist.github.com/ekeryelleven/80f8f1d1dad00b0fbea9

更新 2

有人告诉我它可能与 https://github.com/docker/docker/issues/9315有关

我试图重现:
$ wget -O- --post-data='' 'http://127.0.0.1:49500/images'
--2015-04-16 11:01:42-- http://127.0.0.1:49500/images
Resolving <proxy>... <ip>
Connecting to <proxy>|<ip>|:<port>... connected.
Proxy request sent, awaiting response... 504 Gateway Timeout
2015-04-16 11:01:42 ERROR 504: Gateway Timeout.

所以我想当我试图访问本地注册表时,代理可能会搞砸事情,所以我再次运行了我的第一个测试,没有为 docker 守护进程设置任何代理配置(没有 HTTP_PROXY 和 HTTPS_PROXY 变​​量,没有 sudo -E)。输出(3 部分):

http://pastebin.com/raw.php?i=XaJaSsWk

启动注册表容器: http://pastebin.com/raw.php?i=1tux468H

推送: http://pastebin.com/raw.php?i=LsvNfdQf

最佳答案

不是真正的答案,但我升级到 Docker 1.6 和 Registry 2.0,问题就消失了。

关于Docker 本地注册表 : push fails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29655373/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com