Docker registry 工具如今已经非常好的支持了 mirror 功能,使用它能够配置一个本地的 mirror 服务。将 pull 过的镜像 cache 在本地。这样其他主机再次 pull 的时候会极大提高响应速度。

使用 docker-compose 启动 registry mirror 服务

以 ubuntu 为例。首先要安装 docker 和 docker-compose。

安装 docker

$ sudo wget -qO- https://get.docker.com/ | sh

安装 docker-compose

$ sudo pip install docker-compose

之后,在本地创建 /opt/data/registry 文件夹,作为镜像文件的存储位置;创建 /opt/data/redis 文件夹。作为 redis 数据的存放位置。

编写一个 docker-compose.yml 文件。

该文件将启动一个 registry 容器监听在本地的 5000 port,并使用一个 redis 容器作为小文件的 cache。

内容例如以下:

# This compose file will start 2 containers: registry and redis.
# registry container will listen on host port 5000,
# and depend on the redis container as the cache scheme. registry:
image: registry:latest
cpu_shares: 10
environment:
- STANDALONE=false
- MIRROR_SOURCE=https://registry-1.docker.io
- MIRROR_SOURCE_INDEX=https://index.docker.io
- CACHE_REDIS_HOST=redis
- CACHE_REDIS_PORT=6379
- DEBUG=false
hostname: docker-registry
links:
- redis:redis
mem_limit: 512m
ports:
- "5000:5000"
privileged: false
restart: always
user: root
volumes:
- /opt/data/registry:/tmp/registry redis:
image: redis:3.0
cpu_shares: 10
expose:
- "6379"
mem_limit: 512m
restart: always
volumes:
- /opt/data/redis:/data

之后,启动服务。

$ docker-compose up -d

配置主机使用 mirror 服务

在其他主机上。配置 docker 的配置文件(比如 /etc/default/docker),加入一行:

DOCKER_OPTS="$DOCKER_OPTS --registry-mirror http://localmirror:5000"

当中 localmirror 替换为刚才配置了 mirror 服务的机器地址。

之后重新启动 docker 服务。

$ sudo service docker restart

測试

随便下载一个镜像,比方 ubuntu:14.04,正常须要十几分钟。

删除下载的镜像,再次下载。一分钟不到。就完成下载了。

转载请注明:http://blog.csdn.net/yeasy/article/details/46916315

配置 Docker 镜像下载的本地 mirror 服务的更多相关文章

  1. 配置Docker镜像加速器

    由于在国内下载docker官方镜像的速度很慢且容易报错,因此需要配置docker镜像加速器来解决这个问题,加速器就是镜像代理的概念,只代理公有镜像,报错结果如下: net/http: request ...

  2. ubuntu/centos/mac/windows 使用阿里源加速docker镜像下载

    官方下载docker比较慢,阿里提供云容器hub, 1.打开阿里容器hub https://dev.aliyun.com/search.html 该页面右上方有一个管理中心,点击进去 2.选择镜像加速 ...

  3. Coreos配置docker镜像加速器

    CoreOS配置docker镜像加速器 CoreOS下的Docker配置是通过flannel unit来实现的. 1) 通过命令 systemctl cat docker 可以看出配置文件的默认位置 ...

  4. 阿里配置docker镜像专属地址

    阿里配置docker镜像专属地址 待办 https://www.jianshu.com/p/6b416dff0691

  5. Centos7.0 配置docker 镜像加速

    在Docker Hub官网上注册帐号,即可下载使用仓库里的全部的docker镜像.而因为网络原因,国内的开发者没办法流畅的下载镜像,经常会出现下载中断的错误.解决方法就是使用国内的容器Hub加速服务, ...

  6. 傲视Kubernetes(二):Docker镜像搭建与本地Kubernetes环境搭建

    主要内容: 1.Docker与Kubernetes的关系 2.SpringBoot微服务的Docker镜像创建 3.Kubernetes本地环境搭建 一.Docker与Kubernetes的关系 在说 ...

  7. docker镜像下载加速(5)

    镜像下载加速 由于 Docker Hub 的服务器在国外,下载镜像会比较慢.幸好 DaoCloud 为我们提供了免费的国内镜像服务. 下面介绍如果使用镜像. 在 daocloud.io 免费注册一个用 ...

  8. docker镜像下载出现:received unexpected HTTP status: 500 Internal Server Error

    1.镜像下载总是出现报错:received unexpected HTTP status: 500 Internal Server Error 2.尝试多种方法: ①阿里云docke加速器:注册之后, ...

  9. docker镜像 - 下载、创建镜像和导入导出镜像

    实验环境 CentOS 7.5 安装并启动docker yum install -y docker systemctl start docker 镜像 安装镜像 docker pull [OPTION ...

随机推荐

  1. linux学习笔记14--命令which和whereis

    我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索:        which  查看可执行文件的位置.       whereis 查看文件的位置.         ...

  2. 简单的异步Socket实现——SimpleSocket_V1.1

    简单的异步Socket实现——SimpleSocket_V1.1 笔者在前段时间的博客中分享了一段简单的异步.net的Socket实现.由于是笔者自己测试使用的.写的很粗糙.很简陋.于是花了点时间自己 ...

  3. yii2 RESTful API Develop

    参考文档:http://www.yiiframework.com/doc-2.0/guide-rest.html 以 DB 中的 news 表为例创建该资源的 RESTful API,最终的测试通过工 ...

  4. TDS协议解析

    文章来自:http://freetds.cvs.sourceforge.net/*checkout*/freetds/freetds/doc/tds.html 该网站是免费的专门介绍TDS协议的,网址 ...

  5. redux-effect

    npm install --save redux-effect 通过redux中间件的方式使async方法可以在redux中使用. 如果你使用redux-saga,应该非常容易上手redux-effe ...

  6. 技巧JS

    1.     document.referrer可以获得上一页的地址,使用document.anchors获得页面上面所有的链接元素,而不必使用document.getElementsByTagNam ...

  7. Jafka Broker代码阅读之总览

    从本文开始,笔者将尝试从源码角度解读Jafka(Kafka)的特性,探究其背后的实现原理与技术.前面讲解Jafka Broker的文章中有提到下面这段启动服务端的代码,我们就从这里开始. Proper ...

  8. 拦截器(Inteceptor),过滤器(Filter),切面(Aspect)处理HttpServiceReqeust请求

    1.拦截器 java里的拦截器是动态拦截Action调用的对象.它提供了一种机制可以使开发者可以定义在一个action执行的前后执行的代码,也可以在一个action执行前阻止其执行,同时也提供了一种可 ...

  9. Mybatis 二级缓存脏读

    脏读的产生 Mybatis的二级缓存是和命名空间绑定的,所以通常情况下每一个Mapper映射文件都有自己的二级缓存,不同的mapper的二级缓存互不影响.这样的设计一不注意就会引起脏读,从而导致数据一 ...

  10. Jmeter常用函数

    一._csvRead 函数 _cvsRead函数是从外部读取参数,csvRead函数可以从一个文件中读取多个参数. 步骤: 1.先新建一个文件,例如c.txt,里面的数据存放为 web@qq.com, ...