Mac 的 Docker 中 Get https://registry-1.docker.io/v2/: net/http: TLS handshake timeout 问题

本文介绍了解决Docker配置环境中出现的连接超时问题的方法。主要原因是网络连接失败,解决方式是通过设置镜像源来改善。文中提供了具体的镜像源地址及设置步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题

在用 Docker 配置环境时,出现 Get https://registry-1.docker.io/v2/: net/http: TLS handshake timeout 连接超时的问题。


解决方法

主要问题是网络无法连接的,此时需要使用镜像:

右键点击桌面顶栏的Docker 图标,选择 Preferences ,在 Daemon 标签(Docker17.03 之前版本为 Advanced标签)下的 Registry mirrors 列表中加入下面的镜像地址:

http://f1361db2.m.daocloud.io

点击 Apply & Restart 按钮使设置生效(如下图所示)。


参考网址

https://www.daocloud.io/mirror#accelerator-doc

当你在Ubuntu上通过Docker尝试安装MySQL时遇到 "Error response from daemon: Get "<https://registry-1.docker.io/v2/>": context deadline exceeded" 这个错误,通常表示你的Docker客户端无法连接到Docker Hub registry。这可能是由于网络问题、DNS解析延迟、防火墙限制或者是Docker服务超时设置不合理等原因导致的。 解决这个问题可以按照以下步骤尝试: 1. **检查网络连接**:确认你的设备是否能够正常访问互联网,特别是访问Docker Hub的地址。 2. **重启Docker服务**:运行 `sudo systemctl restart docker` 来重启Docker服务,有时候只需刷新连接就能解决问题。 3. **增加连接超时时间**:修改Docker配置文件 `/etc/docker/daemon.json` ,将 `http.request-timeout` 和 `tls.http.request-timeout` 设置得更大,例如: ```json { "http": { "request-timeout": "5m" }, "tls": { "http_request_timeout": "5m" } } ``` 然后运行 `sudo systemctl daemon-reload && sudo systemctl restart docker`。 4. **清理缓存**:有时旧的镜像缓存可能导致问题,你可以清除缓存并重新拉取镜像: ```sh docker system prune -a ``` 5. **检查防火墙设置**:如果使用了系统防火墙,确保允许访问Docker所需的端口和协议。 6. **DNS问题**:如果DNS解析有误,试着更换其他可用的DNS服务器。 7. **代理设置**:如果你的环境需要通过代理访问Internet,确保Docker能正确配置代理。 如果以上步骤都无法解决问题,建议查看Docker的官方文档或社区论坛寻求更详细的解决方案。同时,检查是否有更新的Docker版本可以解决已知的问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值