Docker注册表未在代理模式下提取图像



我无法让docker注册表在代理模式下运行。我已经用以下配置设置了一个注册表:

version: 0.1
storage:
filesystem:
rootdirectory: /var/lib/registry
proxy:
remoteUrl: https://index.docker.io/v1
http:
addr: :5000
host: https://[DOMAIN]

注册表在kube集群中运行,具有公开的服务和指向部署的入口。

在我的gitlab运行程序中,我已经在daemon.json配置文件中设置了注册表镜像数组,以指向该服务器。

docker注册表是清晰的,没有推送任何图像。然而,当我尝试运行gitlab作业(使用node:lts-image(时,我从注册表中得到404错误。

这意味着,我的docker gilab运行程序正试图从我的注册表代理中提取,但代理缓存不会为请求提供服务。

代理模式是否应该开箱即用,或者是否需要任何其他手动步骤?

提前谢谢。

从我的注册表附加日志:

10.1.79.1 - - [15/May/2021:18:19:05 +0000] "HEAD /v2/library/node/manifests/lts HTTP/1.1" 404 93 "" "docker/20.10.6 go/go1.13.15 git-commit/8728dd2 kernel/4.15.0-1063-aws os/linux arch/amd64 UpstreamClient(Go-http-client/1.1)"
time="2021-05-15T18:19:05.743476401Z" level=error msg="response completed with error" err.code="manifest unknown" err.detail="unknown tag=lts" err.message="manifest unknown" go.version=go1.11.2 http.request.host=registry-proxy.bignetwork.dev http.request.id=7bb689b9-f7f0-4bc4-8730-b823737da0b9 http.request.method=GET http.request.remoteaddr=172.31.0.12 http.request.uri="/v2/library/node/manifests/lts" http.request.useragent="docker/20.10.6 go/go1.13.15 git-commit/8728dd2 kernel/4.15.0-1063-aws os/linux arch/amd64 UpstreamClient(Go-http-client/1.1)" http.response.contenttype="application/json; charset=utf-8" http.response.duration=1.24767ms http.response.status=404 http.response.written=93 vars.name="library/node" vars.reference=lts
10.1.79.1 - - [15/May/2021:18:19:05 +0000] "GET /v2/library/node/manifests/lts HTTP/1.1" 404 93 "" "docker/20.10.6 go/go1.13.15 git-commit/8728dd2 kernel/4.15.0-1063-aws os/linux arch/amd64 UpstreamClient(Go-http-client/1.1)"

设置为remoteurl而非remoteUrl。json字段区分大小写。

最新更新