故障描述:
[root@docker01 ~]# docker run centos
docker: Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers).
See 'docker run --help'.
解决方案:
修改docker镜像源:
docker默认的源为国外官方源,下载速度较慢,可改为国内,加速
方案一
修改或新增 /etc/docker/daemon.json
[root@docker01 ~]# vi /etc/docker/daemon.json
{
"registry-mirrors": ["http://hub-mirror.c.163.com"]
} [root@docker01 ~]# systemctl restart docker.service
方案二
修改或新增 /etc/sysconfig/docker,在OPTIONS变量后追加参数 --registry-mirror=https://docker.mirrors.ustc.edu.cn
[root@docker01 ~]# vi /etc/sysconfig/docker
OPTIONS='--selinux-enabled --log-driver=journald --registry-mirror=https://docker.mirrors.ustc.edu.cn'
Docker国内源说明:
Docker 官方中国区:https://registry.docker-cn.com
网易:http://hub-mirror.c.163.com
中国科技大学:https://docker.mirrors.ustc.edu.cn
阿里云:https://pee6w651.mirror.aliyuncs.com
最终我用下面的方案解决了:
进入/etc/docker
查看有没有 daemon.json。这是docker默认的配置文件。
如果没有新建,如果有,则修改。
[root@docker01 ~]# vi daemon.json
{
"registry-mirrors": ["https://registry.docker-cn.com","http://hub-mirror.c.163.com"]
}
保存退出。
重启docker服务
[root@docker01 ~]# systemctl restart docker.service
成功!