当前位置:   article > 正文

Dockerfile Registry WebUI 之 docker-registry-web 高级应用_docker registry_web

docker registry_web

  私有仓库应用时,为了保证安全,可能会进行一些安装保障,docker-registry-web允许开启鉴权认证,需要PEM格式的RSA私钥和证书。

​  服务器信息

服务器IP服务器功能描述
192.168.20.50用于基于docker-registry-web镜像的容器
192.168.20.53用于基于Docker Registry镜像的容器

  基于认证配置

  1) 使用OpenSSL创建证书文件。

  操作服务器: 192.168.20.53。

   确认OpenSSL是否已安装。

openssl version
  • 1

在这里插入图片描述

   若为安装,先安装OpenSSL。

apt-get update
apt-get install -y openssl
  • 1
  • 2

   进入目录securitit/registry/certs/(根据自身需求创建即可),执行命令创建.crt.key证书文件。

openssl req -new -newkey rsa:4096 -days 365 -subj "/CN=localhost" -nodes -x509 -keyout /securitit/registry/auth/auth.key -out /securitit/registry/auth/auth.cert
  • 1

在这里插入图片描述

  2) 基于Docker Registry镜像提供私有仓库服务。

  操作服务器: 192.168.20.53。

  进入/securitit/registry/conf目录(根据自身需求而定),新建registry-srv.yml配置文件。

version: 0.1    

storage:
  filesystem:
    rootdirectory: /var/lib/registry

http:
  addr: 0.0.0.0:5000   

auth:
  token:
    # registry-web的地址.
    realm: http://192.168.20.50:8080/api/auth
    # 私有仓库的配置地址.
    service: 192.168.20.53:5000
    # 需要与registry-web定义的名称一致.
    issuer: 'my issuer'
    # 容器内证书路径,容器启动时通过数据卷参数指定.
    rootcertbundle: /etc/docker/registry/auth.cert
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

  通过如下命令基于registry镜像启动容器。

docker run -v /securitit/registry/conf/registry-srv.yml:/etc/docker/registry/config.yml:ro \
            -v /securitit/registry/auth/auth.cert:/etc/docker/registry/auth.cert:ro -p 5000:5000  --name registry-srv -d registry
  • 1
  • 2

在这里插入图片描述

  3) 基于docker-registry-web镜像提供私有仓库Web UI服务。

  操作服务器: 192.168.20.50。

  将 1) 中生产的auth.key文件通过FTP工具传输到当前服务器中,本示例传输至/securitit/registry/auth/

在这里插入图片描述

  进入/securitit/registry/conf目录(根据自身需求而定),新建registry-web.yml配置文件。

registry:
  # 私有仓库地址.
  url: http://192.168.20.53:5000/v2
  # 私有仓库命名.
  name: 192.168.20.53:5000
  # 是否只读设置.
  readonly: false
  auth:
    # 是否进行鉴权处理.
    enabled: true
    # 需要与私有仓库定义的名称一致.
    issuer: 'my issuer'
    # 容器内私钥证书路径,容器启动时通过数据卷参数指定.
    key: /conf/auth.key
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

  通过如下命令基于docker-registry-web镜像启动容器。

docker run -it -d -v /securitit/registry/conf/registry-web.yml:/conf/config.yml:ro \
           -v /securitit/registry/auth/auth.key:/conf/auth.key -v /securitit/registry/db:/data \
           -p 8080:8080 --name registry-web hyper/docker-registry-web
  • 1
  • 2
  • 3

在这里插入图片描述

  访问http://192.168.20.50:8080/,默认用户名和密码是admin/admin。

在这里插入图片描述

在这里插入图片描述

  docker-registry-web 角色管理

  首次启动后,默认用户admin/admin将会获得如下角色:

  · UI_ADMIN

  · UI_USER

  · UI_DELETE

  · read-all

  · write-all

  可以删除或修改UI_ADMINUI_USER,这两个角色用来指定角色允许admin和user访问UI系统。

  UI_USER角色允许查询镜像仓库。

  UI_ADMIN角色相比UI_USER角色,允许创建、删除和修改镜像仓库。

  UI_DELETE角色允许基于ACL策略删除镜像。

  总结

  《Dockerfile Registry WebUI 之 docker-registry-frontend 基础应用》《Dockerfile Registry WebUI 之 docker-registry-frontend 高级应用》讲解了docker-registry-frontend的使用,《Dockerfile Registry WebUI 之 docker-registry-web 基础应用》和本文讲解了docker-registry-web的使用。相对于docker-registry-frontend来说,docker-registry-web提供的功能更加丰富,并且对于使用来说,docker-registry-web通过配置文件的方式,更加友好,且易于后期维护,两者建议选择docker-registry-web。

  若文中存在错误和不足,欢迎指正!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/95764
推荐阅读
相关标签
  

闽ICP备14008679号