关于Docker Registry v2的搭建

原创 2016年06月02日 14:25:04
新版 registry v2对镜像存储格式进行了重新设计,并且和旧版还不兼容。registry v2是由go语言开发,docker从1.6版本开始支持registry v2,之前python开发的老版registry在网上已被标为废弃了(没有维护更新,但也可以用)。

之前在测试环境搭建了一个老版的registry,用了也比较久了。为了跟上技术的脚步,也准备今后使用新版registry v2。由于对旧版是不兼容的,所以之前仓库的数据目录还不能直接拿来挂载,只好重新做个新的,镜像只好等以后慢慢再放上去了。下面对我这次配置的步骤简单的介绍一下。

0. 服务器环境
本次使用centos7.1的操作系统,服务器IP假设为:192.168.0.100
预先装好docker服务,操作如下:
yum install docker -y
systemctl enable docker
systemctl start docker

1. 获取最新的registry的容器
了解到目前最新版为2.4.1,于是直接使用docker pull命令从公用仓库去拉即可
docker pull registry:2.4.1

2. 运行registry:2.4.1容器
这里需要注意的是新registry仓库数据目录的位置。之前老版的位置是/tmp/registry,hub.docker.com上的演示命令里写的是/tmp/registry-dev,其实这个不对。试验证明,新registry的仓库目录是在/var/lib/registry,所以运行时挂载目录需要注意。
docker run -d -p 5000:5000 --restart=always \
  -v /opt/registry-var/:/var/lib/registry/ \
  registry:2.4.1
-v选项指定将/opt/registry-var/目录挂载给/var/lib/registry/
当使用curl http://192.168.0.100:5000/v2/_catalog能看到json格式的返回值时,说明registry已经运行起来了。

3. 修改配置文件以指定registry地址
上面registry虽然已经运行起来了,但是如果想用push命令上传镜像是会报错的,需要在配置文件中指定registry的地址。在/etc/sysconfig/docker文件中添加一下配置:
ADD_REGISTRY='--insecure-registry 192.168.0.100:5000'
为了配置简单,省去安全相关的配置,这里使用--insecure-registry选项。
修改配置文件后,一定要重启docker服务才能生效,所以:
systemctl restart docker
这时再push就可以上传镜像到所搭建的registry仓库了。需要注意的是,上传前要先给镜像tag一个192.168.0.100:5000/为前缀的名字,这样才能在push的时候存到私库。
docker tag docker.io/registry:2.4.1 192.168.0.100:5000/registry:2.4.1
docker push 192.168.0.100:5000/registry:2.4.1

4. 配置带用户权限的registry
到上面为止,registry已经可以使用了。如果想要控制registry的使用权限,使其只有在登录用户名和密码之后才能使用的话,还需要做额外的设置。
registry的用户名密码文件可以通过htpasswd来生成:
mkdir /opt/registry-var/auth/
docker run --entrypoint htpasswd registry:2.4.1 -Bbn felix felix  >> /opt/registry-var/auth/htpasswd
上面这条命令是为felix用户名生成密码为felix的一条用户信息,存在/opt/registry-var/auth/htpasswd文件里面,文件中存的密码是被加密过的。
使用带用户权限的registry时候,容器的启动命令就跟上面不一样了,将之前的容器停掉并删除,然后执行下面的命令:
docker run -d -p 5000:5000 --restart=always \
  -v /opt/registry-var/auth/:/auth/ \
  -e "REGISTRY_AUTH=htpasswd" \
  -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" \
  -e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd \
  -v /opt/registry-var/:/var/lib/registry/ \
  registry:2.4.1
这时,如果直接想查看仓库信息、pull或push都会出现权限报错。必须先使用docker login 命令来登录私有仓库:
docker login 192.168.0.100:5000
根据提示,输入用户名和密码即可。如果登录成功,会在/root/.docker/config.json文件中保存账户信息,这样就可以继续使用了。


版权声明:本文为博主原创文章,未经博主允许不得转载。

[DockerRegistry]搭建Docker Registry v2

docker registry v2
  • m1361459098
  • m1361459098
  • 2016年11月07日 15:58
  • 2709

使用Docker registry镜像创建私有仓库

安装Docker后,可以通过官方提供的registry镜像来简单搭建一套本地私有仓库环境,本文记录简单的搭建过程。...
  • delphiwcdj
  • delphiwcdj
  • 2015年01月25日 01:17
  • 48940

关于Docker Registry v2的搭建

新版 registry v2对镜像存储格式进行了重新设计,并且和旧版还不兼容。registry v2是由go语言开发,docker从1.6版本开始支持registry v2,之前python开发的...
  • xuguokun1986
  • xuguokun1986
  • 2016年08月15日 19:19
  • 542

关于Docker Registry v2的搭建

转自:http://blog.csdn.net/felix_yujing/article/details/51564739 新版 registry v2对镜像存储格式进行了重新设计,并且和旧版还...
  • lgq421033770
  • lgq421033770
  • 2016年12月30日 15:19
  • 592

Docker Registry v2的搭建后任何用随意pull和push的问题

1、关于这个问题,其实官网已经做了相关说明https://docs.docker.com/registry/configuration/#/auth 2、下面我以htpasswd为例来说明regist...
  • xuguokun1986
  • xuguokun1986
  • 2016年08月15日 19:04
  • 2011

docker-registry搭建过程中遇到的问题

利用官方提供的registry镜像,将端口映射到主机的5000端口上,然后docker pull 镜像,报错如下: 根据报错提示解决方法: 1.自己添加证书走https    在registr...
  • weiguang1017
  • weiguang1017
  • 2015年06月18日 15:47
  • 8912

docker registry v2 ssl 环境搭建

去年有搭建过 docker registry v1 版本,不过 registry v2 之后发生了点变化,所以又折腾了下,在此记录步骤 这边我主要说下 nginx 一、准备基础镜像 centos...
  • wanglei_storage
  • wanglei_storage
  • 2016年11月11日 11:08
  • 1847

Docker Registry HTTP API V2

https://github.com/docker/distribution/blob/master/docs/spec/api.md
  • yzl11
  • yzl11
  • 2016年01月14日 19:04
  • 293

搭建私有镜像仓库--registry V2

目录 搭建 HTTP Registry搭建 domain registry设置registry访问控制Docker Compose搭建registry添加apache或nginx代理认证 ...
  • wanghailong041
  • wanghailong041
  • 2016年08月09日 14:00
  • 1309

配置带用户权限的docker registry v2

v1版本的docker registry用nginx配置,v2版本的用nginx有些问题,客户端总是会请求到v1/下面去, 以下从 http://blog.csdn.net/felix_yujing...
  • sunshingheavy
  • sunshingheavy
  • 2017年01月06日 23:02
  • 2256
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于Docker Registry v2的搭建
举报原因:
原因补充:

(最多只允许输入30个字)