文档章节

在内网搭建docker registry并使用密码鉴权的方法

t
 tommwq
发布于 2016/06/08 15:01
字数 412
阅读 416
收藏 1

在内网搭建docker registry并使用密码鉴权的方法

建立日期:2016年5月2日。
最后编辑:2016年6月8日。

1 说明。
  执行docker run registry:2命令的设备称为服务端。执行docker pull或docker push命令,向服务端推送或拉取镜像的设备称为客户端。

2 服务端操作。

2.1 安装docker和docker-registry:2,启动docker守护进程。
  (略)

2.2 创建工作目录。
  mkdir -p /data/DockerRegistry/{Data,Cert,Auth}

2.3 生成TLS使用的自签名证书。
  cd /data/DockerRegistry/Cert
  domain=MyDockerRegistry.com
  openssl req -nodes \
    -subj "/C=CN/ST=Guangdong/L=Shenzhen/CN=$domain" \
    -newkey rsa:4096 -keyout $domain.key -out $domain.csr
  openssl x509 -req -days 3650 -in $domain.csr -signkey $domain.key -out $domain.crt

2.4 生成鉴权使用的密码文件。
  docker run --name once --entrypoint=htpasswd registry:2 -Bbn TestUser TestPassword > /Data/Registry/Auth/Htpasswd
  docker rm once

2.5 启动docker registry:2。
  docker run -d -p 5000:5000 --restart=always \
  --volume=/data/DockerRegistry/Data:/var/lib/registry \
  --volume=/data/DockerRegistry/Cert:/Cert \
  --volume=/data/DockerRegistry/Auth:/Auth \
  --env="REGISTRY_AUTH=htpasswd" \
  --env="REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" \
  --env="REGISTRY_AUTH_HTPASSWD_PATH=/Auth/Htpasswd" \
  --env="REGISTRY_HTTP_TLS_CERTIFICATE=/Cert/MyDockerRegistry.com.crt" \
  --env="REGISTRY_HTTP_TLS_KEY=/Cert/MyDockerRegistry.com.key" \
  --name=registry \
  registry:2

3 客户端操作。

3.1 配置host文件,让客户端可以通过域名访问服务端。
  echo "\n127.0.0.1 MyDockerRegistry.com\n" >> /etc/hosts

3.2 安装服务端证书。
  sudo mkdir -p /etc/docker/certs.d/MyDockerRegistry.com
  sudo scp SERVER_IP:/data/DockerRegistry/Cert/MyDockerRegistry.com.cert /etc/docker/certs.d/MyDockerRegistry.com/ca.crt

3.3 启动docker守护进程。

3.4 在docker registry客户端设备上登录docker registry。
  docker login -u TestUser -p TestPassword -e foo@bar.com MyDockerRegistry.com:5000

3.5 查看docker registry中的镜像。
  sudo curl https://MyDockerRegistry.com:5000/v2/_catalog -u TestUser:TestPassword --cacert /etc/docker/certs.d/MyDockerRegistry.com:5000/ca.crt

© 著作权归作者所有

t

tommwq

粉丝 2
博文 27
码字总数 21205
作品 0
广州
私信 提问
基于centos6.7的docker私有仓库搭建

1 仓库配置https认证 cd /etc/docker/ mkdir certs [root@docker01 docker]# openssl req -newkey rsa:4096 -nodes -sha256 -keyout certs/docker01.key -x509 -days 365 -out certs/docker......

阿伦哥-
2018/12/07
26
0
K8s 从懵圈到熟练 – 镜像拉取这件小事

作者 声东 阿里云售后技术专家 导读:相比 K8s 集群的其他功能,私有镜像的自动拉取,看起来可能是比较简单的。而镜像拉取失败,大多数情况下都和权限有关。所以,在处理相关问题的时候,我们...

阿里巴巴云原生
10/09
15
0
知乎十万级容器规模的分布式镜像仓库实践

知乎在 2016 年已经完成了全量业务的容器化,并在自研容器平台上以原生镜像的方式部署和运行,并在后续陆续实施了 CI、Cron、Kafka、HAProxy、HBase、Twemproxy 等系列核心服务和基础组件的容...

云学习小组
2018/07/05
0
0
Docker搭建带有访问认证的私有仓库

以下步骤均为本人亲自踩坑,历经数次失败,最终搭建成功 一、环境信息: 操作系统:CentOS 7 Docker版本:1.12.5 (更高版本应该类似) registry:2.4.1 registry-web: hyper/docker-registry...

yuhaitao8922
2017/06/10
0
0
Docker 私有仓库配置(registry)

Docker仓库实际上提供两方面的功能,一个是镜像管理,一个是认证。前者主要由docker-registry项目来实现,通过http服务来上传下载;后者可以通过docker-index(闭源)项目或者利用现成认证方...

freelb
2018/12/20
96
0

没有更多内容

加载失败,请刷新页面

加载更多

谁说多功能和低价格不能兼得?Aspose系列产品1024购买指南请查收!

你还在为了Word、Excel、PDF、CAD等文档格式转换而发愁吗? 你是否在寻找一款能够在应用程序中文档管理的工具呢? Aspose——支持100多种文件格式创建、编辑、转换和打印! 往下看,找一找哪...

mnrssj
23分钟前
3
0
hbase客户端API

本章介绍用于对HBase表上执行CRUD操作的HBase Java客户端API。 HBase是用Java编写的,并具有Java原生API。因此,它提供了编程访问数据操纵语言(DML)。 HBaseConfiguration类 添加 HBase 的配...

水木星辰
23分钟前
3
0
[插件化开发] 1. 初识OSGI

初识 OSGI 背景 当前product是以solution的方式进行售卖,但是随着公司业务规模的快速夸张,随之而来的是新客户的产品开发,老客户的产品维护,升级以及修改bug,团队的效能明显下降,为了解...

IsaacZhang
23分钟前
4
0
Webstorm 环境使用 nuxt.js 做开发,@ 和 ~ 别名配置

好的IDE + 好的代码提示 = 高效率的开发 webstorm 设置@和~别名,有助于代码查看和跳转. step 0 在项目下创建一个webpack.config.js,内容如下: const path = require('path')module.exp...

皇虫
27分钟前
3
0
Knative 实战:基于 Knative Serverless 技术实现天气服务-下篇

上一期我们介绍了如何基于 Knative Serverless 技术实现天气服务-上篇,首先我们先来回顾一下上篇介绍的内容: 通过高德天气 API 接口,每隔 3 个小时定时发送定时事件,将国内城市未来 3 天...

Mr_zebra
45分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部