当前位置:   article > 正文

docker 部署带有界面的registry仓库_registry ui

registry ui

在这里插入图片描述

docker 部署 registry UI

1. 创建registry仓库

docker run -tid --restart=always --name registry -p 5000:5000 -e REGISTRY_COMPATIBILITY_SCHEMA1_ENABLED=true -v /storage/registry:/var/lib/registry registry:latest
docker ps
  • 1
  • 2

2. 将镜像推入仓库

$ docker pull centos
$ docker tag  centos:latest 192.168.211.15:5000/centos:latest
$ docker push 192.168.211.15:5000/centos:latest
The push refers to a repository [192.168.211.15:5000/centos]
Get https://192.168.211.15:5000/v1/_ping: http: server gave HTTP response to HTTPS client
  • 1
  • 2
  • 3
  • 4
  • 5

在推送镜像中出现错误,因为client与Registry交互默认将采用https访问,但我们在install Registry时并未配置指定任何tls相关的key和crt文件,https将无法访问。因此, 我们需要配置客户端的Insecure Registry选项(另一种解决方案需要配置Registry的证书)。

$ vim /etc/sysconfig/docker
OPTIONS='--selinux-enabled --log-driver=journald --signature-verification=false --insecure-registry 192.168.211.15:5000'
或者
$ vim /etc/docker/daemon.json 
{
  "live-restore": true,
  "dns": ["8.8.8.8"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size":  "100m",
    "max-file": "5"
   },
  "insecure-registries": ["192.168.211.15:5000"]
}
$ docker stop registry
$ systemctl restart docker
$ docker start registry
$ docker push 192.168.211.15:5000/centos:latest
$ $ 

{"repositories":["centos"]}   #获取镜像列表
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

3. 创建registry-web

Docker官方只提供了REST API,并没有给我们一个界面。 可以使用Portus来管理私有仓库, 同时可以使用简单的UI管理工具, Docker提供私有库“hyper/docker-registry-web”, 下载该镜像就可以使用了。

docker run -d -p 8080:8080 --name registry-web  --link registry -e REGISTRY_URL=http://registry:5000/v2  -e REGISTRY_NAME=registry:5000 hyper/docker-registry-web
  • 1

界面:
在这里插入图片描述

4. web 对接token认证的registry server

4.1 搭建 docker registry web

$ mkdir -p  /data/registry-web/config
$ vim /data/registry-web/config/registry-web.yml
registry:
  # Docker registry url
  url: 'https://192.168.211.100:5000/v2'
  # web registry context path
  # empty string for root context, /app to make web registry accessible on http://host/app
  context_path: ''
  # Trust any SSL certificate when connecting to registry
  trust_any_ssl: true
  #  base64 encoded token for basic authentication
  basic_auth: ''
  # To allow image delete, should be false
  readonly: true
  # Docker registry fqdn
  name: '192.168.211.100:5000'
  # Authentication settings
  auth:
    # Enable authentication
    enabled: true
    # Allow registry anonymous access
    # allow_anonymous: true # not implemented
    # Token issuer
    # should equals to auth.token.issuer of docker registry
    issuer: 'test-issuer'
    # Private key for token signing
    # certificate used on auth.token.rootcertbundle should signed by this key
    key: /config/server.key

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29

访问:http://192.168.211.100:5000
用户与密码:adminadmin
在这里插入图片描述

4.2 创建用户

在这里插入图片描述

4.3 用户授权

在这里插入图片描述

参考:

demo

docker run -d --restart=always --name registry -p 5000:5000 -e REGISTRY_COMPATIBILITY_SCHEMA1_ENABLED=true -v /storage/registry:/var/lib/registry registry:latest

cat > /etc/docker/daemon.json <<EOF
{
  "live-restore": true,
  "dns": ["8.8.8.8"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size":  "100m",
    "max-file": "5"
   },
  "insecure-registries": ["registry01.demo:5000"]
}
EOF
sytemctl restart docker

 docker run -d -p 8080:8080 --name registry-web  --link registry -e REGISTRY_URL=http://registry01.demo:5000/v2  -e REGISTRY_NAME=registry01.demo:5000 hyper/docker-registry-web
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/588963
推荐阅读
相关标签
  

闽ICP备14008679号