前天在使用 Docker 进行容器化部署时,遇到 TLS 握手超时的错误。在这里我将分享如何解决此问题。
错误信息
错误信息:Error response from daemon: Get https://registry-1.docker.io/v2/library/image-name/manifests/tag: net/http: TLS handshake timeout
这个错误通常在从 Docker 镜像仓库拉取镜像的过程中出现,意味着 Docker 守护进程无法建立与 TLS 连接相关的握手阶段。
解决方案
-
检查网络连接
首先,确保网络连接正常并且可以访问 Docker 镜像仓库(
registry-1.docker.io
)。尝试通过浏览器访问该地址,以确认网络连接正常。 -
检查代理配置
如果计算机使用了代理服务器,请确保 Docker 守护进程可以正确地配置和使用代理。按照以下步骤进行检查和设置:
-
编辑 Docker 配置文件
daemon.json
,通常位于/etc/docker/
目录下。 -
在文件中添加以下代理配置参数:
{ "proxies": { "default": { "httpProxy": "http://your-proxy-server:proxy-port", "httpsProxy": "http://your-proxy-server:proxy-port" } } }
-
替换
your-prox
-