docker如何部署带有界面的registry仓库

 更新时间:2024年02月04日 14:20:09   作者:ghostwritten  
这篇文章主要介绍了docker如何部署带有界面的registry仓库问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

docker 部署 registry UI

1. 创建registry仓库

$ docker run -d --restart=always --name registry -p 5000:5000 -v /storage/registry:/var/lib/registry registry:2.3.0
$ docker ps

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

在推送镜像中出现错误,因为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'
$ docker stop registry
$ systemctl restart docker
$ docker start registry
$ docker push 192.168.211.15:5000/centos:latest
$ $ curl  https://192.168.211.15:5000/v2/_catalog
{"repositories":["centos"]}   #获取镜像列表

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=localhost:5000        hyper/docker-registry-web

界面:

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

访问:http://192.168.211.100:5000

用户与密码:adminadmin

4.2 创建用户

4.3 用户授权

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • SpringBoot程序打包Docker镜像的最佳方式

    SpringBoot程序打包Docker镜像的最佳方式

    本文探索了SpringBoot程序打包Docker镜像的几种方式及其性能表现,作者通过四种方法进行测试,并通过代码示例讲解的非常详细,具有一定的参考价值,需要的朋友可以参考下
    2026-03-03
  • docker的WSL2报错解决步骤记录

    docker的WSL2报错解决步骤记录

    这篇文章主要介绍了在使用Docker时遇到的WSL2不支持的问题,包括错误代码、解决方法和常见问题,解决方法主要包括启用BIOS虚拟化、安装WSL2内核、设置默认WSL版本等步骤,需要的朋友可以参考下
    2025-04-04
  • Docker 容器健康检查的指令方式详解

    Docker 容器健康检查的指令方式详解

    这篇文章主要介绍了Docker 容器健康检查的指令方式详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11
  • 如何使用 Gunicorn + Nginx + Docker 将 Django 项目部署到云服务器

    如何使用 Gunicorn + Nginx + Docker 

    本篇文章介绍了使用Gunicorn+Nginx+ocker器ginx三件套部署Dginx+Nginx+N开发服务器的全过程,本文结合实例给大家讲解的非常详细,感兴趣的朋友跟随小编一起看看吧
    2026-05-05
  • Docker安装部署Mysql8的过程(以作数据持久化)

    Docker安装部署Mysql8的过程(以作数据持久化)

    这篇文章主要介绍了Docker安装部署Mysql8(以作数据持久化),首先创建容器并进行持久化处理,接着配置远程连接并尝试,本文结合实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2022-09-09
  • docker-compose network名称定义解读

    docker-compose network名称定义解读

    文章详细介绍了Docker Compose网络名称的生成规则,包括没有自定义网络名、定义后缀和定义前缀的情况,通过设置环境变量`COMPOSE_PROJECT_NAME`,可以更友好的命名网络
    2026-03-03
  • docker for windonws之Windows 10 家庭中文版安装clickhouse 22.3版本及配置过程

    docker for windonws之Windows 10 家庭中文版安装cl

    这篇文章主要介绍了docker for windonws之Windows 10 家庭中文版安装clickhouse 22.3版本及配置,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-08-08
  • 定时清理docker私服镜像的方法

    定时清理docker私服镜像的方法

    这篇文章主要介绍了定时清理docker私服镜像的方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-08-08
  • CentOS8上用Docker部署开源项目Tcloud的教程

    CentOS8上用Docker部署开源项目Tcloud的教程

    这篇文章主要介绍了CentOS8上用Docker部署开源项目Tcloud,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-01-01
  • Docker Memcached 容器化部署的实现

    Docker Memcached 容器化部署的实现

    memcached是一套分布式的高速缓存系统,本文主要介绍了Docker Memcached 容器化部署的实现,具有一定的参考价值,感兴趣的可以了解一下
    2024-03-03

最新评论