gpt4 book ai didi

Docker 从 Nexus 代理拉取来自守护进程 : unknown: unknown 的错误响应

转载 作者:行者123 更新时间:2023-12-02 18:36:04 32 4
gpt4 key购买 nike

配置 Nexus docker 注册表和代理“dockerhub-proxy”后,如下所述:

我可以在 docker 登录后将图像推送到 nexus 注册表,但无法通过 nexus 代理“dockerhub-proxy”从 docker hub 中提取图像,错误没有提供任何详细信息:

来自守护进程的错误响应:未知:未知

这是针对在 Docker Desktop Windows 上运行的 docker daemon 客户端:

版本 2.0.0.3 (31259) channel :稳定构建:8858db3引擎:18.09.2

我已经通过 docker 客户端从 Linux EC2 实例尝试过,它运行良好:

[root@ip-host-daemon docker]# docker pull ip_nexus_host:port_http_connector_nexus_proxy/mongo
使用默认标签:latest
最新:从蒙戈拉
摘要:sha256:29d7ca01f9b7e3812a831ff143620e93ddf5e34bb9ac672d91140e064158a0fc
状态:为 ip_nexus_host:port_http_connector_nexus_proxy/mongo:latest 下载了更新的图像

我不知道为什么它在 Windows 上不起作用

PS C:\Dev\workspace> docker push my_dns/nexus/repository/dockerhub-proxy/image-name:1.0.1
推送是指存储库 [my_dns/nexus/repository/dockerhub-proxy/image-name]
0bca66726bc2:推
1.0.1:摘要:sha256:0736228548d13e8d39fba5a0ed5cd8a7719074318fe9f8ddfc395fd454afc01f 大小:528
PS C:\Dev\workspace> docker pull my_dns/nexus/repository/dockerhub-proxy/mysql:latest
**来自守护进程的错误响应:未知:未知**

我正在寻找通过 Docker Windows 客户端守护进程从 Docker Hub 中拉取官方 docker 镜像的能力,例如 mongo,例如通过在 nexus OSS 上配置的 Nexus 代理传递并通过 http 连接器暴露到 Nexus Group(其中包含主机和代理),Nexus OSS 托管在 AWS EC2 linux 实例 VPC/私有(private)子网上,没有任何公共(public)主机名/EIP,但通过 ELB/ALB。

谢谢你的帮助

最佳答案

根据这篇文章:

https://support.sonatype.com/hc/en-us/articles/115013153887-Docker-Repository-Configuration-and-Client-Connection

您的 nexus 通过以下语法公开 docker CLI 可访问的 HTTP(S) 连接器:

docker pull <nexus-hostname>:<port_nexus_docker_group>/<dockerHubImage>:<officialTag>
docker push <nexus-hostname>:<port_nexus_docker_host>/<yourImage>:<yourTag>

如果您的 Nexus 在您的 VPC 中有公共(public) DNS,很明显,只需打开托管和运行 Nexus 服务器的 EC2 实例的安全组上的每个端口,以允许来自您的 IP 范围/CIDR 源的入站网络流量。

如果您的 Nexus 在您的 VPC 的私有(private)子网中有私有(private) IP,只需将一个 AWS-ELB 网络负载均衡器放在它前面,在公共(public)子网上的同一个 VPC 上,每个 HTTP(S) 端口暴露两个 TCP 监听器(nexus- group 和 nexus-hosted)重定向到两个 TCP 目标组,实例目标类型在托管您的 nexus 服务器的 EC2 实例 ID 上,这会将网络流量从您的公共(public) DNS 重定向到您的 ELB,然后再重定向到您的 Nexus EC2 实例。

请注意,我们没有使用 AWS-ELB 应用程序负载均衡器,因为它仅适用于 HTTP 监听器,并且 Docker 不支持在启动 docker CLI 时使用上下文来指定存储库的路径,默认情况下它是 HTTP (S) 并且所有这些中间调用都带有 URL 路径模式/v2/*。

正确设置和配置后,您将能够像这个示例 powershell session 一样使用 docker 登录、拉取和推送图像到您的内部 nexus 存储库:

Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

PS D:\> docker login <host_redirect_to_NLB>:<port_nexus_docker_group>
Username: tarik
Password:
Login Succeeded
PS D:\> docker login <host_redirect_to_NLB>:<port_nexus_docker_host>
Username: tarik
Password:
Login Succeeded
PS D:\> docker pull <host_redirect_to_NLB>:<port_nexus_docker_group>/amazonlinux
Using default tag: latest
latest: Pulling from amazonlinux
72d97abdfae3: Pull complete
Digest: sha256:04f5ea9fec3f1f514451ea7c1a1a77a7c023787cb6cc066cc6d0413b56cd0eac
Status: Downloaded newer image for <host_redirect_to_NLB>:<port_nexus_docker_group>/amazonlinux:latest
PS D:\> docker tag <host_redirect_to_NLB>:<port_nexus_docker_group>/amazonlinux <host_redirect_to_NLB>:<port_nexus_docker_host>/tarik-awslinux:1.0
PS D:\> docker push <host_redirect_to_NLB>:<port_nexus_docker_host>/tarik-awslinux:1.0
The push refers to repository [<host_redirect_to_NLB>:<port_nexus_docker_host>/tarik-awslinux]
f387c8b346c8: Pushed
1.0: digest: sha256:04f5ea9fec3f1f514451ea7c1a1a77a7c023787cb6cc066cc6d0413b56cd0eac size: 529
PS D:\> more C:\Users\Tarik\.docker\config.json
{
"auths": {
"<host_redirect_to_NLB>:<port_nexus_docker_host>": {},
"<host_redirect_to_NLB>:<port_nexus_docker_group>": {}
},
"HttpHeaders": {
"User-Agent": "Docker-Client/18.09.2 (windows)"
},
"credsStore": "wincred",
"stackOrchestrator": "swarm"
}

PS D:\> more C:\Users\Tarik\.docker\daemon.json
{
"registry-mirrors": [
"https://<host_redirect_to_NLB>:<port_nexus_docker_group>"
],
"insecure-registries": [
"<host_redirect_to_NLB>:<port_nexus_docker_host>",
"<host_redirect_to_NLB>:<port_nexus_docker_group>"
],
"disable-legacy-registry": true,
"debug": true,
"experimental": false
}

关于Docker 从 Nexus 代理拉取来自守护进程 : unknown: unknown 的错误响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56242159/

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