由于网速和大中华局域网效果,使得我们在DockerHub下载镜像的速度很慢,甚至一些国内的镜像仓库,也感觉速度不是很好。所以,很有必要在本地或者一个我们访问很快速的地方(自己的云服务器)搭建一套镜像仓库。有了这样一个仓库,不仅可以提高下载速度,而且可以增加我们个性化定制的镜像,以备后续使用。这篇将介绍怎样搭建本地镜像。

话外篇,配置docker代理

如果有一个很快的代理,当然也可以直接通过配置docker代理,以达到快速下载镜像的目的。在搭建本地镜像的过程也需要从DockerHub上下载完整镜像文件,如果访问缓慢的话,下载将会非常缓慢。设置代理的方法非常简单,这里以CentOS6.5为例。

找到/etc/default/docker,打开编辑,找到下面export http_proxy部分,去掉注释并修改为自己的代理即可。

# Docker Upstart and SysVinit configuration file

# Customize location of Docker binary (especially for development testing).
#DOCKER="/usr/local/bin/docker" # Use DOCKER_OPTS to modify the daemon startup options.
#DOCKER_OPTS="--dns 8.8.8.8 --dns 8.8.4.4" # If you need Docker to use an HTTP proxy, it can also be specified here.
export http_proxy="http://xxxx:port" # This is also a handy place to tweak where Docker's temporary files go.
#export TMPDIR="/mnt/bigdrive/docker-tmp"
DOCKER_OPTS="--insecure-registry dl.dockerpool.com:5000"

创建私有仓库

本文记录以Docker官方提供的镜像Registry 创建本地私有仓库,创建方式和启动一个普通镜像的方式是一样。

1.在私有仓库服务器快速创建镜像仓库,运行如下代码:

docker run -p 5000:5000 registry:2.0

运行上述命令后,会从DockerHub上拉取registry镜像并在本地启动Registry服务,并监听5000端口。 

2.列出本地镜像

docker images

  

可以看到registry的镜像和一个本地ubuntu:12.04的镜像

3.重新标记一个本地镜像为私有仓库的版本,这里将本地的ubuntu 12.04标记为localhost:5000/ubuntu:1204。

docker tag ubuntu:12.04 localhost:5000/ubuntu:1204

再次查看镜像可以看到多了一个标记为localhost:5000/ubuntu:1204的镜像

4.将本地镜像推送到本地仓库中

docker push localhost:5000/ubuntu:1204

5.查看本地仓库中的镜像列表

curl http://localhost:5000/v2/ubuntu/tags/list

结果如下:

{"name":"ubuntu","tags":["1204"]}

6.从本地仓库拉取一个镜像,在这之前先执行如下命令移除本地未使用的镜像,保证从本地仓库拉取的镜像不是从缓存中获取。

 docker rmi -f $(docker images -q -a )

之后再查看镜像,只剩下registry这个镜像

拉取本地仓库中的镜像

docker pull localhost:5000/ubuntu:1204

Unable to find image 'localhost:5000/ubuntu:1204' locally
1204: Pulling from localhost:5000/ubuntu
b796a17a2688: Pull complete
273721eafe54: Pull complete
7dd38dbb5eda: Pull complete
32190de3770a: Already exists

之后查看镜像如下:

  

最后正常启动

docker run --name mytestubuntu localhost:5000/ubuntu:1204 

欢迎关注公众号「gushidefengzheng」古时的风筝

docker创建私有仓库的更多相关文章

  1. 转 docker创建私有仓库和k8s中使用私有镜像

    docker私有仓库建立 环境说明我们选取192.168.5.2做私有仓库地址yum install docker -y1.启动docker仓库端口服务 docker run -d -p 5000:5 ...

  2. docker 创建私有仓库

    由于国内访问国际网络缓慢,从DockerHub下载镜像的速度感人,所以我们有必要在本地或者自己的云服务器上搭建一套镜像仓库,提高容器下载速度使用私有仓库需修改地址:Centos 7 Docker配置: ...

  3. docker创建私有仓库及存储image

    Docker官方的Docker hub尽管提供了有非常多image,也基本上包括了我们须要使用的,可是其訪问起来比較慢.假设自己要定制image.多台server之间的共享使用此image非常不方便. ...

  4. Docker学习总结之docker创建私有仓库(private Repositories)

    Docker 创建 Private Repositories 前言 基于GFW的缘故,国内大陆基本无法pull国外的镜像,更别说官方的index了.如果images无法pull下来,那么docker就 ...

  5. docker基础——自定义镜像、创建私有仓库、查看 docker 运行状态

    一.自定义镜像 1,案例1 要求:请自定义一个 docker 镜像,基于 hub.c.163.com/library/centos,要求创建出来的镜像在生成容器的时候,可以直接使用 ifconfig ...

  6. Docker 搭建私有仓库

    Docker 搭建私有仓库 环境: docker 版本 :18.09.1 主机地址:192.168.1.79 1.运行并创建私有仓库 docker run -d \ -v /opt/registry: ...

  7. [Docker]docker搭建私有仓库(ssl、身份认证)

    docker搭建私有仓库(ssl.身份认证) 环境:CentOS 7.Docker 1.13.1 CentOS 7相关: https://www.cnblogs.com/ttkl/p/11041124 ...

  8. 部署Nexus作为docker的私有仓库

    目录 Docker搭建Nexus私有仓库... 1 一.安装部署... 1 1.安装... 2 2.访问网页端... 2 二.配置使用... 2 1.创建本地仓库... 2 2.docker配置... ...

  9. Docker Harbor私有仓库部署与管理 (超详细配图)

    Docker Harbor私有仓库部署与管理 1.Harbor 介绍 2.Harbor部署 3.Harbor管理 1.Harbor 介绍: 什么是 Harbor ? Harbor 是 VMware 公 ...

随机推荐

  1. 关于Unity3D自定义编辑器的学习

    被人物编辑器折腾了一个月,最终还是交了点成品上去(还要很多优化都还么做).  刚接手这项工作时觉得没概念,没想法,不知道.后来就去看<<Unity5.X从入门到精通>>中有关于 ...

  2. opencv在图像显示中文

    在图像定位和模式识别时,经常需要把结果标注到图片上,标注内容可以是数字字母.矩形框等(opencv支持的)或者是中文汉字(借助freetype). 1.显示数字/矩形框 #include <op ...

  3. HashMap与TreeMap源码分析

    1. 引言     在红黑树--算法导论(15)中学习了红黑树的原理.本来打算自己来试着实现一下,然而在看了JDK(1.8.0)TreeMap的源码后恍然发现原来它就是利用红黑树实现的(很惭愧学了Ja ...

  4. ASP.NET Core框架揭秘(持续更新中…)

    之前写了一系列关于.NET Core/ASP.NET Core的文章,但是大都是针对RC版本.到了正式的RTM,很多地方都发生了改变,所以我会将之前发布的文章针对正式版本的.NET Core 1.0进 ...

  5. git-2.10.2-64-bit介绍&&git下载&&git安装教程

    Git介绍 分布式:Git系统是一个分布式的系统,是用来保存工程源代码历史状态的命令行工具. 保存点:Git的保存点可以追踪源码中的文件, 并能得到某一个时间点上的整个工程项目的状态:可以在该保存点将 ...

  6. CSS 3学习——文本效果和@font-face

    文本效果 关于文本效果,这里仅仅记录得到大多数浏览器支持的几个属性,分别是: text-overflow text-shadow word-break word-wrap text-overflow ...

  7. JAVA FreeMarker工具类

    FreeMarkerUtil.java package pers.kangxu.datautils.utils; import java.io.File; import java.io.StringW ...

  8. DevOps对于企业IT的价值

    其实从敏捷延展开的 DevOps 概念很早就已经被提出,不过由于配套的技术成熟度水平层次不齐, DevOps 的价值一直没有有效地发挥出来.现如今,随着容器技术的发展, DevOps 在企业中的实践难 ...

  9. Linux课堂笔记(一)

    一.Linux应用领域及版本介绍. 1.服务器.嵌入式.桌面应用等. (1)在服务器领域中,需要安全和稳定,特别是越老的内核版本越安全.越稳定. (2)Linux主要分内核版和发行版. 内核版本2.6 ...

  10. 高级渲染技巧和代码示例 GPU Pro 7

    下载代码示例 移动设备正呈现着像素越来越高,屏幕尺寸越来越小的发展趋势. 由于像素着色的能耗非常大,因此 DPI 的增加以及移动设备固有的功耗受限环境为降低像素着色成本带来了巨大的压力. MSAA 有 ...