部署私有Docker Registry

搭建 Insecure Registry

修改Registry server上的Docker daemon的配置,为DOCKER_OPTS增加–insecure-registry:
DOCKER_OPTS="--insecure-registry 10.10.105.71:5000
重启Docker Daemon,启动Registry容器:

#docker run -d -p 5000:5000 -v /data/registry:/var/lib/registry --restart=always --name registry registry:2

在Private Registry2中查看或检索Repository或images,将不能用docker search:
但通过v2版本的API,我们可以实现相同目的:

#curl http://10.10.105.71:5000/v2/_catalog
#curl http://10.10.105.71:5000/v2/tonybai/busybox/tags/list

注:交互的主机上的Docker Daemon都要配置:–insecure-registry选项

搭建 Secure Registry

需要为Registry配置tls所需的key和crt文件
1、制作自签署证书
#mkdir -p certs
#openssl req -newkey rsa:2048 -nodes -sha256 -keyout certs/index.changhong.info.key -x509 -days 365 -out certs/index.changhong.info.crt
…………
Common Name (e.g. server FQDN or YOUR name) []:index.changhong.info

2、修改一下/etc/hosts文件: 10.10.105.71 index.changhong.info
3、配置本地访问
$ sudo mkdir -p /etc/docker/certs.d/index.changhong.info:5000
$ sudo cp certs/index.changhong.info.crt /etc/docker/certs.d/index.changhong.info:5000/ca.crt
$ sudo service docker restart

如果使用自签署的证书,那么所有要与Registry交互的Docker主机都需要安装index.changhong.info:5000/ca.crt
但如果你使用知名CA这一步也就可以忽略

Registry的鉴权管理

server上增加test用户,密码test123
$ mkdir auth
$ docker run --entrypoint htpasswd registry:2 -Bbn test test123 > auth/htpasswd

启动Secure Registry
$ docker run -d -p 5000:5000 --restart=always --name registry \
-v /auth:/auth \
-e "REGISTRY_AUTH=htpasswd" \
-e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" \
-e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd \
-v /data:/var/lib/registry \
-v /certs:/certs \
-e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/index.changhong.info.crt \
-e REGISTRY_HTTP_TLS_KEY=/certs/index.changhong.info.key \
registry:2

执行docker login:
$docker login index.changhong.info:5000
Username: test
Password: test123

Registry中images的管理
$ curl --cacert index.changhong.info.crt --basic --user test:test123 https://index.changhong.info:5000/v2/_catalog

Docker registry V2的更多相关文章

  1. 【云计算】docker registry v2简介

    ubuntu docker方式部署docker registry v2 2016-03-03 17:36 by JackieHan, 4 阅读, 0 评论, 收藏,  编辑 生成自己签名的证书 生成签 ...

  2. docker registry v2与harbor的搭建

    docker的仓库 1 registry的安装 docker的仓库我们可以使用docker自带的registry,安装起来很简单,但是可能有点使用起来不是很方便.没有图形化. 开始安装 使用镜像加速器 ...

  3. 配置带用户权限的docker registry v2

    v1版本的docker registry用nginx配置,v2版本的用nginx有些问题,客户端总是会请求到v1/下面去, 以下从 http://blog.csdn.net/felix_yujing/ ...

  4. ubuntu docker方式部署docker registry v2

    生成自己签名的证书 生成签名的过程需要根据提示输入一些参数,需要注意的时Common Name的时候需要输入一个自己需要的域名,如果时内部域名记得访问的时候需要修改hosts. mkdir /data ...

  5. Docker Registry V2 Garbage Collection

    运行 docker run --rm -v /nfs1/docker/registry:/var/lib/registry registry:2.5.1 garbage-collect -d /roo ...

  6. Docker Registry V2 with Nginx

    安装 nginx 修改/etc/yum.repos.d/nginx.repo [nginx] name=nginx repo baseurl=http://nginx.org/packages/cen ...

  7. Deploying docker registry v2

    生成证书 openssl genrsa -out mydomain.key 2048 生成秘钥 openssl req -newkey rsa:4096 -nodes -sha256 -keyout ...

  8. 在CentOS 6上搭建私有的Docker Registry

    在CentOS 6上搭建私有的Docker Registry v2Registry概念 :Registry是一个无状态的, 高可扩展的服务器端应用程序, 用于存储和分发Docker Image. 依赖 ...

  9. Docker系列08—搭建使用私有docker registry

    本文收录在容器技术学习系列文章总目录 1.了解Docker Registry 1.1 介绍 registry 用于保存docker 镜像,包括镜像的层次结构和元数据. 启动容器时,docker dae ...

随机推荐

  1. freemarker if elseif

    FreeMarker模板 if, else, elseif 指令 : if, else, elseif 语法 <#if condition> ... <#elseif conditi ...

  2. java 代理的三种实现方式

    Java 代理模式有如下几种实现方式: 1.静态代理. 2.JDK动态代理. 3.CGLIB动态代理. 示例,有一个打招呼的接口.分别有两个实现,说hello,和握手.代码如下. 接口: public ...

  3. EXE捆绑器

    释放的方法真没想到  太神奇了 // 文件捆绑器Dlg.cpp : 实现文件 // #include "stdafx.h" #include "文件捆绑器.h" ...

  4. Valid Sudoku

    理解题目的意思后这题不难.扫描一遍数独输入并按照要求进行判断就可以了.提交了两次,第一次用了stl的set,第二次本来想借助位运算的,想想觉得有些操作略显麻烦,因此用整数数组代替.代码如下: 解法一: ...

  5. Android MediaRecorder录制音频

    今天介绍一下在Android中怎么录制音频,在Android中使用MediaRecorder来录制音频,步骤: 1.创建MediaRecorder对象. 2.调用MediaRecorder对象的set ...

  6. 作业七:团队项目——Alpha版本冲刺阶段 001

    今天进展:准备开发环境,安装软件. 今天安排:因为软件过于庞大,所以我们第一天都在按软件,原本计划第一天要设计框架,但因为软件问题.所以我们决定留到第二天.

  7. git 创建版本库

    服务器安装后git后 1.在repositories仓库文件夹中执行git init aa.git --bare  创建aa的中心库(注意建立aa版本库时当前登录用户必须为git的相关用户,并保证/d ...

  8. iOS ShareSDK 使用

    流量精灵软件中,也在大部分地方使用到了shareSDK 这个三方开源库.具体的有两种需求 a.弹出所有分享模块 b.只弹出指定的平台:如微信朋友圈和QQ . 配置方法,三方库中也很详细,这里我只有写出 ...

  9. Android studio的深坑 导jar包重复的异常处理

    导包重复这个问题折磨了整整一天!! 第一个方法在gradle文件下看看有没有重复的包  如果有那么一切都是浮云分分钟搞定 ,最可恶的是在gradle里面没有. 在gradle里面找不到的话就要考虑一下 ...

  10. sqoop的增量导入(increment import)

    1.import增量导入的官方说明