解决docker pull镜像报错的问题

描述:

在win10下安装VM,在VM里运行docker,使用docker pull拉取镜像时报错

一、

Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

原因:

使用docker pull 命令拉取镜像时,如果不添加额外的信息如docker pull nginx,则会默认镜像拉取地址为国外仓库,导致DNS解析超时。

解决办法:

1.)修改VM默认的DNS为8.8.8.8

2.)使用国内的镜像仓库拉取镜像

二、

Trying to pull repository docker.io/library/nginx ... Get https://registry-1.docker.io/v2/: net/http: TLS handshake timeout

原因:

也是因为使用国外地址,导致http握手失败。

解决办法:

1.)每次拉取镜像时都手动指定国内仓库地址docker pull registry.docker-cn.com/library/nginx

2.)修改 /etc/docker/daemon.json 文件(把默认仓库地址修改为国内地址,省去每次都手动输入)

vim /etc/docker/daemon.json -> 写入
{ "registry-mirrors": ["https://registry.docker-cn.com"] }

最后,重启docker即可systemctl daemon-reload + systemctl restart docker

三、吐槽一下CSDN的markdown是真心难用,很多语法都不支持。

补充:解决docker pull镜像报错或者超时的方案,将拉取地址改为国内镜像仓库

docker默认镜像拉取地址为国外仓库下载速度较慢,甚至会报如下这种错误

Error response from daemon: Get https://docker.elastic.co/v2/: net/http: TLS handshake timeout

解决方法修改

/etc/docker/daemon.json 文件并添加上 registry-mirrors 键值。然后重启docker就可以了
{
 "registry-mirrors": ["https://registry.docker-cn.com"]
}

补充:解决docker在CentOS7下不能下载镜像timeout的问题

问题

昨天买了六个月阿里云服务器的学生机用来部署毕设环境,在鼓捣docker的时候出现问题,docker安装成功并且已经成功启动,如图

但在pull镜像的时候却出现超时无法下载镜像的问题,估计是国内docker官方镜像被墙了,网上找了好久发现要使用国内镜像加速,推荐的有Daocloud和阿里云,我使用的是Daocloud镜像加速,注册了账号之后上方会有一个镜像加速的超链接

点进去之后还有各种系统的脚本,用于添加国内镜像加速

运行脚本之后再执行pull操作,镜像成功下载

这时候执行docker images可以看到已下载的镜像

做个记录,以免时间久了会遗忘

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。如有错误或未考虑完全的地方,望不吝赐教。

(0)

相关推荐

  • docker pull镜像速度慢的问题解决方法

    目前,Docker拥有中国的官方镜像,具体内容可访问https://www.docker-cn.com/registry-mirror 在使用时,Docker 中国官方镜像加速可通过 registry.docker-cn.com 访问.该镜像库只包含流行的公有镜像.私有镜像仍需要从美国镜像库中拉取. 您可以使用以下命令直接从该镜像加速地址进行拉取: $ docker pull registry.docker-cn.com/myname/myrepo:mytag 例如: $ docker pull

  • 解决docker pull镜像速度慢的问题的方法

    直接下载Docker镜像时,由于种种原因,经常下载失败,即使连接成功也是很慢,怎么办呢 目前我知道可以提升速度的办法:DaoCloud 提供Docker Hub Mirror服务 用户可以进入Docker Hub Mirror注册入口注册(https://account.daocloud.io/signin).在进入控制台页面后直接点击 启动你的加速器后,您即可得到一个Mirror的地址,将该地址配置在Docker Daemon的启动脚本中,重启Docker Daemon即可使得Docker H

  • Docker配置阿里云镜像加速pull的实现

    今天使用docker拉取镜像,那速度简直不能看,而且等着等着到最后还出现了 read tcp 192.168.31.60:55550->104.18.123.25:443: read: connection reset by peer 传输异常 然后看见网上说可以配置阿里云提供的镜像加速 具体方式 进入阿里云的容器镜像服务 快速链接: 容器镜像服务 复制加速器的地址 在/etc/docker目录下找到在daemon.json文件(没有就新建),将下面内容写入 { "registry-mir

  • 详解docker pull 下来的镜像都存到了哪里

    docker pull 下来的命令都默认存在/var/lib/docker/文件夹下. 查看/var/lib/docker/image/overlay2/repositories.json文件: 正好和docker images的内容一致. 1.进入docker目录,文件结构如下: 2. 进入containers 目录,这个目录中保存是已拉取的容器ID,即一个序列号,对应一个容器. 随便进入选择一个序列号,进入后发现容器的具体结构如下: 3. 进入image 目录 这个目录中保存的是已拉取的镜像

  • 详解docker pull 下来的镜像文件存放的位置

    1. 存放在 /var/lib/Docker 2. repositories-aufs文件: { "Repositories": { "hello-world":{"latest":"7a5a2d73abce5e0eab6aa3fa06f5d08308c79efed1e6f0392b298c322c0f955b"}, "tensorflow/tensorflow":{"latest":&

  • Docker 拉取镜像及标签操作 pull | tag

    重翻Fabric项目的源码,发现Docker部分内容,有很多不尽理解的地方,看着看着,就看到使用docker pull拉取Fabric镜像及使用docker tag为镜像重命名,稍作思虑,发现虽然使用过,却未求甚解,得过且过,如今已经忘了如何运用-- 1. docker pull 从镜像源拉取镜像,一般来说是从Docker Hub拉取镜像(image) docker pull [OPTIONS] NAME[:TAG|@DIGEST] 选项,简写 默认 描述 –all-tags , -a 从镜像库

  • 详解docker pull下来的镜像存储在哪里

    20200804补充:文章可能说法有误.大佬可查询其他答案. docker pull xxx,就可以把想要的镜像拉下来直接使用,但是pull下来的镜像存储在哪里呢?这里做下记录: 此处docker 版本为:Docker version 1.13.1 1. 进入docker目录,如下: root@iZuf6axmuekh1n14dwcufmZ:/# cd var/lib/docker/ root@iZuf6axmuekh1n14dwcufmZ:/var/lib/docker# ls aufs co

  • 解决docker pull镜像报错的问题

    描述: 在win10下安装VM,在VM里运行docker,使用docker pull拉取镜像时报错 一. Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers) 原因: 使用docker pull 命令拉取镜像时,如果不添加额外的信息如docker pull nginx

  • Docker获取镜像报错docker: Error response from daemon

    今天在使用docker获取镜像时,出现了镜像获取报错的问题,找到了解决的方法记一下. 一.问题 ➜ ~ docker search sameersbn Error response from daemon: Get https://index.docker.io/v1/search?q=sameersbn&n=25: dial tcp: lookup index.docker.io on 192.168.65.1:53: read udp 192.168.65.2:45190->192.16

  • 解决docker pull被复位出现的问题

    本文介绍了解决docker pull被复位出现的问题,分享给大家,具体如下: 例如: $ docker pull ubuntu:16.04 Trying to pull repository docker.io/library/ubuntu ... Get https://registry-1.docker.io/v2/library/ubuntu/manifests/sha256:dd7808d8792c9841d0b460122f1acf0a2dd1f56404f8d1e5629804888

  • docker.service启动报错的一次排查详解

    执行以下命令报错 systemctl restart docker 查看错误信息 systemctl status docker -l 报错信息如下: ● docker.service - Docker Application Container Engine Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled) Drop-In: /etc/systemd/system

  • 快速解决百度编译器json报错的问题

    在MyEclipse中JSON字符串的换行值是不同的,必须以'/n'换行,如果只是json验证的问题,可以把json的验证关掉试试. 点击所在的项目->Project->Proterties->MyEclipse->Validation,把JSON Validator中的Manual和Build的对号给去掉,然后apply,确定,clean缓存. 清除myeclipse缓存的方法如下 找到软件导航窗内的project下的clean,选择要清除缓存的项目,点击clean projec

  • 解决laravel 5.1报错:No supported encrypter found的办法

    本文主要介绍了关于解决laravel 5.1报错:No supported encrypter found的办法,分享出来供大家参考学习,下面来看看详细的介绍: 问题描述 在使用laravel5.1进行项目开发的时候,出现了"No supported encrypter found. The cipher and / or key length are invalid."的报错信息,导致页面无法显示. 网上的绝大多数答案都是直接执行PHP artisan key:generate即可.

  • 解决Layui中layer报错的问题

    问题描述: Uncaught ReferenceError: layer is not defined 解决方法,查看网上说名,是非独立版导致直接使用layer导致,只需要在使用时加一说明,申明一下使用. layui.use(['element','layer'], function(){ var element = layui.element,layer=layui.layer; //一些事件监听 element.on('nav(topBarNav)', function(data){ con

  • vue 解决循环引用组件报错的问题

    做项目时遇到使用循环组件,因为模式一样,只有数据不一样.但是按照普通的组件调用格式来做时报错,错误信息为Unknown custom element: <pop> - did you register the component correctly? For recursive components, make sure to provide the "name" option. 查询了官方文档,还有其他的资料,发现是循环调用组件时,组件比vue实例后创建,官方文档里写组件

  • 解决pip install xxx报错SyntaxError: invalid syntax的问题

    python--pip install xxx报错SyntaxError: invalid syntax 在安装好python后,进入python运行环境后,因为我要用pip安装开发Web App需要的第三方库,执行pip install aiohttp,发现会报错SyntaxError: invalid syntax,刚开始以为是拼写或者空格问题或者python版本问题,结果用pip3还是一样的. 然后百度了一下,发现原来用pip安装时都要在cmd命令行里启动的,而在python中无法运行.退

随机推荐