本文讲述如何搭建docker私有仓库。

有了docker hub,为什么还要搭建docker私有仓库?

1、性能考虑:docker hub的访问要通过互联网,性能太低。

2、安全性:更多的时候,镜像不想被外部的人获取,虽然可以在docker hub上申请私有repository,但是需要付费。

系统环境:CentOS release 6.7 (Final)

IP:100.90.61.14

  • 安装docker

如下操作是在root用户下

yum -y install docker-io

启动docker

service docker start   # 启动docker
service docker stop # 停止docker
service docker restart # 重启docker
  • 搭建docker私有仓库

搭建docker私有仓库也是通过docker,真是就地取材。

1、首先下载registry镜像

docker pull registry:

说明:

这里下载的是最新版本2。

2、启动registry镜像的容器

docker run -d -p : -v /myregistry:/var/lib/registry registry:

说明:

-d ==> 作为daemon进程启动,也就是后台启动

-v /myregistry:/tmp/registry ==> 默认情况下,会将仓库存放于容器内的/tmp/registry目录下,指定本地目录/myregistry挂载到容器,可以防止容器意外停止后镜像的丢失。

-p 5000:5000 ==> 前一个5000是host的端口,后一个是容器的端口。这里是将容器的5000端口映射到host的5000端口。

3、配置https权限支持

修改/etc/sysconfig/docker,我的文件内容如下

# /etc/sysconfig/docker
#
# Other arguments to pass to the docker daemon process
# These will be parsed by the sysv initscript and appended
# to the arguments list passed to docker -d other_args="--exec-driver=lxc --selinux-enabled --insecure-registry 100.90.61.14:5000"
DOCKER_CERT_PATH=/etc/docker # Resolves: rhbz# (docker issue #)
DOCKER_NOWARN_KERNEL_VERSION= # Location used for temporary files, such as those created by
# # docker load and build operations. Default is /var/lib/docker/tmp
# # Can be overriden by setting the following environment variable.
# # DOCKER_TMPDIR=/var/tmp
#
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://2a5b5ce4.m.daocloud.io

说明:

--insecure-registry 100.90.61.14:5000,表示开启5000端口的非安全模式,也就是http模式。

重启docker服务

service docker restart
  • 上传镜像到私有registry

先下载一个httpd镜像作为示例

docker pull httpd

修改一下该镜像的tag

# docker tag httpd 100.90.61.14:/kangaroo/httpd:v1

说明:

1)我们在镜像前面加上了运行私有registry的ip:port,这是必须的,只有访问docker hub的时候可以忽略ip:port。

2)kangaroo是我的网名,这里加上予以区分用户。

上传

上传镜像到私有registry

# docker push 100.90.61.14:/kangaroo/httpd:v1

在私有registry上查看镜像

# curl -XGET http://100.90.61.14:5000/v2/_catalog

{"repositories":["kangaroo/httpd"]}

下载

从私有registry上下载镜像

删除本地镜像

docker rmi 100.90.61.14:/kangaroo/httpd:v1

从私有registry上下载

docker pull 100.90.61.14:/kangaroo/httpd:v1

查看本地镜像,可以看到已经拉下来了。

# docker images
100.90.61.14:/kangaroo/httpd v1 91199e851c7a weeks ago 177.3 MB

CentOS环境下Docker私有仓库搭建的更多相关文章

  1. Docker学习笔记 — Docker私有仓库搭建

    Docker学习笔记 — Docker私有仓库搭建   目录(?)[-] 环境准备 搭建私有仓库 测试 管理仓库中的镜像 查询 删除 Registry V2   和Mavan的管理一样,Dockers ...

  2. CentOS7 Docker私有仓库搭建及删除镜像 【转】

    文章来源:centos7 Docker私有仓库搭建及删除镜像 如果不想用私有镜像库,你可以用docker的库 https://hub.docker.com 环境准备 环境:两个装有Docker 17. ...

  3. centos环境下使用percona-xtrabackup对mysql5.6数据库innodb和myisam进行快速备份及恢复

    centos环境下使用percona-xtrabackup对mysql5.6数据库innodb和myisam进行快速备份及恢复 有时候我们会碰到这样的业务场景: 1.将大的数据库恢复到本地进行业务测试 ...

  4. Centos环境下部署游戏服务器-软件安装

    这篇文章主要介绍一下游戏服务器需要安装的软件和需要修改的配置.现介绍下项目,本项目服务器端是c++ + mysql组合,客户端是as写的,需要安装的服务为Mysql,Php,Apache, 以及一个n ...

  5. CentOS环境下R语言的安装和配置

    最近在看数据统计和分析,想到了R语言,于是就着手在自己的CentOS环境下进行安装和配置.步骤如下: 1.前往R官网下载安装包. 2.解压压缩包:tar xvzf R-3.2.2.tar.gz 3.进 ...

  6. ubuntu环境下docker安装步骤

    本文是根据docker官方文档翻译,原文:https://docs.docker.com/engine/installation/linux/ubuntulinux/ Docker 支持以下 Ubun ...

  7. 在Centos环境下安装兼容Apache2.4高版本SVN服务

    在阿里云Centos环境下,搭建PHP运行环境,PHP选择了php7版本,Mysql选择了5.7版本,Apache选择了2.4版本,在搭建SVN版本控制服务过程中出现了不兼容问题,当前环境下Apach ...

  8. linux系统Centos环境下搭建SVN服务器及权限配置

    linux系统Centos环境下如何搭建SVN服务器以及svnserve.conf.authz.passwd配置文件详细介绍   至于svn的概念,这里就不做详细阐述了,可以自行百度.简单来讲就是一个 ...

  9. Centos系统下Docker的安装

    一.检查内核版本 安装Docker,需要linux内核大于3.10 使用uname -r 来检查 二. Centos系统下Docker的安装 1. 安装需要的软件包 yum install -y yu ...

随机推荐

  1. Archlinux运行FlashTool

    首先,http://www.flashtool.net/index.php下载linux版的FlashTool,并且按照其说明在/etc/udev加入如下字段: SUBSYSTEM== »usb », ...

  2. 总结HTML5

    都说项目页面是HTML5写的,但是HTML5的特别之处用了多少? 1.是不是页面布局都是统一的div,然后class写样式?可是HTML5提供了好多新标签 ,css中直接用标签名即可定义样式,不用费力 ...

  3. js中的undefined 和null

    undefined是基本数据类型 表示未定义 缺少的意思 null是引用数据类型  是对象 表示空对象 undefined是从null派生出来的  所以undefined==null  true Ja ...

  4. js 如何判断一个数字是不是2的n次方幂

    昨天去面试时,面试官问了一道面试题,说如何判断一个数是不是2的n次方幂,我当时不知道2的n次方幂是什么(糗大发了

  5. Python学习笔记_02:使用Tkinter连接MySQL数据库实现登陆注册功能

    1 环境搭建 1.1 Python安装 1.2 MySQL环境搭建 1.3安装MySQLdb  2 具体实现 2.1 登陆界面 2.2 注册界面 2.3 具体实现部分代码   1 环境搭建 1.1 P ...

  6. JS框架设计读书笔记之-动画

    基础概念 CSS样式可分为两种,一种值接近无限的集合(color,width),一种值只有几种(display),可以进行计算的样式,产生了动画效果.\ 1. 动画的第一步是获得元素的精确样式值. 2 ...

  7. mouseover事件mouseenter事件

    1. mouseover:会在鼠标进入该元素或者该元素的子元素时触发 mouseenter:只在鼠标进入该元素时触发 mouseout:在鼠标移出该元素或则该元素的子元素时触发 mouseleave: ...

  8. 使用mitmproxy嗅探双向认证ssl链接——嗅探AWS IoT SDK的mqtts

    亚马逊AWS IoT使用MQTTS(在TLS上的MQTT)来提供物联网设备与云平台直接的通信功能.出于安全考虑,建议给每个设备配备了证书来认证,同时,设备也要安装亚马逊的根证书:这样,在使用8883端 ...

  9. Oracle-2 - :超级适合初学者的入门级笔记--定义更改约束,视图,序列,索引,同义词

    接着我上一篇的写,在这感觉到哇 内容好多啊   上一篇,纯手打滴,希望给个赞! 添加约束的语法: 使用 alter table 添加或删除约束,但是不能修改约束 有效化或无效化约束 添加not nul ...

  10. mkdir--命令

    mkdir命令 mkdir:make directory(ies)的缩写,用来创建目录 1.语法 mkdir [OPTION]... DIRECTORY 注释:option是选择,可选,directo ...