> 技术文档 > docker search 报错 Error response from daemon

docker search 报错 Error response from daemon

docker search nginx报错
Error response from daemon: Get “https://index.docker.io/v1/search?q=nginx&n=25”: dial tcp 199.59.148.9:443: i/o timeout

背景

最近在windows系统安装了wsl版的centos打算学习一下docker,发现使用docker search nginx的时候一直报错,这里记录一下学习过程遇到的问题和解决方案

寻找解决方案

在网上查了很多资料,大多都说是由于网络问题、DNS服务器问题等导致的,如果以上都没有问题可以尝试修改docker配置文件
一、检查网络配置
1、首先需要确认下机器是否可以正常访问外网,如果不能访问需要先解决网络问题
2、dns服务器也可能有问题,可以查看修改dns服务器配置文件

vi /etc/resolv.conf

可以在配置文件添加通用的dns服务器

nameserver 114.114.114.114nameserver 8.8.8.8

修改后重启下docker服务

sudo systemctl restart docker

二、尝试修改docker配置文件
为了提高访问速度并减少超时的可能性,可以配置国内镜像加速地址

vi /etc/docker/daemon.json
{ \"registry-mirrors\": [ \"https://docker.1ms.run\" ]}

修改后重启下docker服务

sudo systemctl restart docker

docker search还是一直报错
docker search 报错 Error response from daemon
因为一直docker search报错也没试过其他指令是否可以成功,后面无意间直接使用docker pull 直接成功拉取镜像了
docker search 报错 Error response from daemon

三、docker search的正确使用方法
发现这个问题后,于是从这个方向寻找其他解决方案,终于找到了使用docker search的方法
在docker search后拼接上具体的镜像加速地址:

docker search 镜像加速地址/[imageName]

而不是直接docker search [imageName]

docker search docker.1ms.run/nginx

docker search 报错 Error response from daemon