1,拉取docker registry 镜像

docker pull registry

2,创建证书存放目录

mkdir -p /home/registry

3,生成CA证书
Edit your /etc/ssl/openssl.cnf on the logstash host - add subjectAltName = IP:10.1.10.1 in [v3_ca] section.
一般情况下,证书只支持域名访问,要使其支持IP地址访问,需要修改配置文件openssl.cnf。
         在redhat7系统中,openssl.cnf文件所在位置是/etc/pki/tls/openssl.cnf。在其中的[ v3_ca]部分,添加subjectAltName选项:

[ v3_ca ]
subjectAltName = IP:10.1.10.1

生成证书

openssl req -newkey rsa:4096 -nodes -sha256 \
-keyout /home/registry/certs/domain.key -x509 \
-days 365 -out /home/registry/certs/domain.crt

注意Common Name最好写为registry的域名

修改权限,并将认证文件添加到(客户端) /etc/docker/certs.d/10.1.10.1:5000/

chcon -Rt svirt_sandbox_file_t /home/registry/certs
mkdir -p /etc/docker/certs.d/10.1.10.1:5000/
cp registry/certs/domain.crt /etc/docker/certs.d/10.1.10.1:5000/ca.crt

3,使用registry镜像生成用户名和密码文件

docker run --entrypoint htpasswd registry -Bbn test 1 > /home/registry/auth/htpasswd
chcon -Rt svirt_sandbox_file_t /home/registry/

4,运行registry并指定参数。包括了用户密码文件和CA书位置。--restart=always 始终自动重启

docker run -d -p 5000:5000 --restart=always --name registry \
-v /home/registry/auth:/auth \
-e "REGISTRY_AUTH=htpasswd" \
-e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" \
-e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd \
-v /home/registry/certs:/certs \
-e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/domain.crt \
-e REGISTRY_HTTP_TLS_KEY=/certs/domain.key \
registry

5,登陆和登出
###vim /etc/hosts

docker login 10.1.10.1:5000 -u uesr -p password
docker logout 10.1.10.1:5000

6,添加用户

docker run --entrypoint htpasswd registry -Bbn Dapeng 123456 >> /home/registry/auth/htpasswd
docker run --entrypoint htpasswd registry -Bbn user123 passwd123 >> /home/registry/auth/htpasswd

无需执行 docker restart registry

搭建docker registry (htpasswd 认证)的更多相关文章

  1. 简单搭建docker registry

    已知信息: 服务端IP:192.168.7.2xx 客户端IP:192.168.7.1xx 服务端: docker registry中镜像本地映射地址:/Users/dockergit/private ...

  2. 搭建docker registry私有镜像仓库

    搭建docker registry私有镜像仓库 一.安装docker-distribution yum install -y docker-distribution 安装完成后,启动服务: syste ...

  3. 在Ubuntu14.04系统POWER8服务器上搭建Docker Registry服务

    本文描述了如何在POWER8服务器上搭建一个本地化的Docker镜像仓库,主要涉及镜像制作,Docker Registry服务启动等.希望能够对在非X86服务器上搭建Docker仓库的同学提供参考. ...

  4. Ubuntu 搭建docker registry 私有仓库

    一.为什么要搭建 docker 私有仓库 原因有几个: 项目需要,不希望将项目放到 docker hub 上. 环境需求,考虑网络.效率的问题,希望在私有服务器上建立自用的仓库,提高便利性和访问速度. ...

  5. 快速搭建Docker Registry私有仓库

    前提条件: 服务器已经安装Docker(我的服务器是CentOS 7) 服务器已经安装Docker Compose 满足以上条件时就可以开始搭建了: 1. 生成用户密码文件:(运行下面命令后会在当前目 ...

  6. 搭建私服-docker registry

    Docke官方提供了Docker Hub网站来作为一个公开的集中仓库.然而,本地访问Docker Hub速度往往很慢,并且很多时候我们需要一个本地的私有仓库只供网内使用.Docker仓库实际上提供两方 ...

  7. 部署 Docker Registry 并配置认证登录

    文章目录 搭建 Docker Registry 创建本地映射目录 启动 Docker Registry 配置 Docker Registry 配置 Docker Registry 认证 启动带认证的 ...

  8. learning docker steps(7) ----- docker registry 搭建

    参考: https://docs.docker.com/engine/reference/builder/ https://hub.docker.com/_/registry/ https://www ...

  9. Docker Registry 管理镜像

    一.使用Docker Registry管理镜像 a.登陆docker hub  https://www.docker.com/products/docker-hub b.创建仓库 c.推送镜像   打 ...

随机推荐

  1. css3制作有动画效果的面板

    .show-panel .slide-panels{ right: 0px; } .slide-panels{ z-index: 101; background: #fff; position: fi ...

  2. SQL注入和XSS攻击的原理

    8.4 Web跨站脚本攻击 8.4.1  跨站脚本攻击的原理(1) 跨站脚本在英文中称为Cross-Site Scripting,缩写为CSS.但是,由于层叠样式表 (Cascading Style ...

  3. Cloud

    Cloud = Data + Routing + Computing + Storage

  4. Ruby系列文章之1---开发者应该熟悉的10个工具

    1. Git Git是进入Ruby这个生态圈首先最应该学会的工具.几乎所有以Ruby开发出来的套件都放在Github上.也就是不管你要下载或修改协作都需要透过Git. 2. RVM Ruby有很多种i ...

  5. 通过 PowerShell 的方式增加虚拟机终结点

    关于虚拟机终结点的概念请阅读:如何设置虚拟机的终结点 本文包含以下内容(本文在名称为"pstest"的虚拟机做测试): 通过 PowerShell 的方式增加终结点 通过 Powe ...

  6. 对synchronized(this)的一些理解

    一.当两个并发线程访问同一个对象object中的这个synchronized(this)同步代码块时,一个时间内只能有一个线程得到执行.另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块. ...

  7. March 20 2017 Week 12 Monday

    A goal is a dream with a deadline. 目标就是给梦想一个期限. Dream without dealine is just daydream, because you ...

  8. 团队第四次SCrum

    scrum 第四次冲刺 一.项目目的        为生活在长大的学生提供方快捷的生活服务,通过帖子发现自己志同道合的朋友,记录自己在长大点滴.本项目的意义在于锻炼团队的scrum能力,加强团队合作能 ...

  9. 关于Java中截取字符串

    获取系统时间:to_char(sysdate,'yyyy-mm-dd')截取CREATETIME常量的前10位字符串:CREATETIME.substring(0,10)截取DESCRIPT常量的前2 ...

  10. SQL的id奇迹

    SELECT id,name FROM test where name is null and id>=26 limit 26,3 这里26和26没关系,不是id额