修改docker镜像源,解决docker: Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: re

  1. 使用 docker run 命令来在容器内运行一个应用程序。

[root@localhost tmp]# docker run ubuntu:15.10 /bin/echo "Hello world"

   运行以上命令时报一下错误:

   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).

     意思是docker:来自守护进程的错误响应:获取https://registry-1.docker。io/v2/: net/http:请求在等待连接时被取消(客户端)。在等待报头时超时)。

   原因:

       在等待报头时超时,  请求在等待连接时被取消(客户端)。Docker 默认的源为国外官方源,下载速度较慢,可改为国内镜像源。

方法一:(推荐)

        ① 修改docker镜像源,如果没有 daemon.json就新建添加以下内容:

[root@localhost ~]# cd /etc/docker
[root@localhost docker]# ls
daemon.json  key.json
[root@localhost docker]# vim daemon.json 

 # 添加以下内容
{

  "registry-mirrors": ["http://hub-mirror.c.163.com"]

}

# 也可以添加多个国内源
{

"registry-mirrors": ["http://hub-mirror.c.163.com", "https://registry.docker-cn.com"]

}

         这里推荐几个国内镜像源:

             网易  http://hub-mirror.c.163.com     |    中国科技大学      https://docker.mirrors.ustc.edu.cn

              阿里云    https://pee6w651.mirror.aliyuncs.com

       ②  修改完之后,需要重新启动Docker。(当修改配置文件时候都需要进行重启服务)

[root@localhost docker]# systemctl daemon-reload    # 重新载入 systemd,扫描新的或有变动的单元
[root@km docker]# systemctl restart docker          # 重新启动Docker服务

方法二:

             可以在系统配置目录中添加 docker 配置文件,可以根据自己喜好mirror后面修改源地址

[root@localhost docker]# cd /etc/sysconfig/
[root@localhost sysconfig]# vim docker

# 添加以下内容
OPTIONS='--selinux-enabled --log-driver=journald --registry-mirror=https://docker.mirrors.ustc.edu.cn'

            然后和上面一样重启一下Docker服务

 

 

 

  

 

你可能感兴趣的:(Docker容器)