Windows 版 Docker 无法连接到 git 容器注册表

问题描述 投票:0回答:1

场景: 我使用 Spring 开发了一个微服务架构,现在我想使用 docker 将其部署在外部 Linux headless 虚拟机上。 我的主机系统是 Windows 10,我使用 Docker for Windows。

我的意图: 我想将我的图像推送到在本地域网络中运行的本地 git 实验室注册表,并从在外部服务器上运行的目标虚拟机中提取它们。

问题: 我无法使用

连接到存储库
docker login IP:Port

来自我的主机系统。 我得到的错误是

来自守护进程的错误响应:获取http://ip:port/v2/:net/http: 等待连接时请求被取消(Client.Timeout 超出 在等待标题时)

但是我可以成功 ping ip,这表明我的网络连接正常。 我还可以从 docker hub 下载并运行 hello-world 映像。 使用相同命令和 URL 的虚拟机连接有效。我只需在 deamon.json 文件中启用

insecure registry

尝试解决问题的步骤: 首先我尝试使用 docker toolbox 设置 docker。 这导致了同样的错误。 之后,我从 docker 工具箱转移到 docker 桌面,这导致了所描述的错误。 我还添加了不安全的注册表项。也不工作。 我的一位同事正在同一个存储库上工作,但使用的是 Ubuntu 主机。 他使用相同命令的设置效果很好。 我以前从未使用过 docker,所以错误可能非常简单,但在挖掘了 2 天之后,我真的找不到这种奇怪行为的原因。 预先感谢

更新: 我在 hyper-V 中为我的 Docker 虚拟机创建虚拟交换机时遇到问题。 在设备管理器中禁用/启用 hyper V 网络适配器后,我能够注册一个新的外部虚拟交换机。但现在我想登录时收到以下消息:

来自守护进程的错误响应:获取 http://myrepo:1234/v2/: 拨打 tcp: 在 193.163.72.1:34 上查找 mypreo:读取 udp 193.163.72.3:34::58297->193.163.72.1:34:I/O超时

我还没有详细研究过,但我看起来像是 DNS 问题?

附加信息:
Docker 版本:Docker 版本 18.09.1
Windows:Windows 10 企业版 64 位

Docker 设置:
进阶:
CPU:2
内存:2048 MB
交换:1024 MB
磁盘映像最大大小:64 GB(使用 0 B)

网络:
内部虚拟交换机:
子网地址:10.0.75.0(默认)
子网掩码:255.255.255.0

DNS服务器:
自动

代理:
没有代理

守护进程:
实验性功能已启用
不安全的注册表:
ip:注册端口

git docker deployment windows-10 registry
1个回答
0
投票

emmm,遇到同样的问题,但我的是centos7.9。当我在“/etc/hosts”中添加“ip dns”时,问题就解决了。所以也许你可以在Windows中找到相同的函数来解决我

© www.soinside.com 2019 - 2024. All rights reserved.