Registry私有仓库可视化

Registry私有仓库可视化

一、简介

        私有 Docker Registry 通常用于企业内部或特定团队中存储和管理 Docker 镜像。随着项目的发展,镜像数量不断增加,管理起来变得越来越复杂。使用可视化的工具可以帮助管理员和开发者更直观地查看和管理这些镜像,从而提高工作效率。

        私有仓库可视化是指通过图形用户界面(GUI)来管理和展示私有 Docker Registry 中存储的镜像及相关信息。

二、节点规划

IP

主机名

节点

192.168.*.*

Localhost

Localhost

三、服务实施

3.1、安装docker

        上传docker安装包和docker-compose文件以及docker镜像至虚拟机/root下。

其他安装docker方法也行。

注意:关闭防火墙

[root@localhost ~]# tar -zxvf docker-24.0.5.tgz

[root@localhost ~]# chmod 755 -R docker

[root@localhost ~]# cp docker/* /usr/bin/

[root@localhost ~]# vi /etc/systemd/system/docker.service

[Unit]

Description=Docker Application Container Engine

Documentation=https://docs.docker.com

After=network-online.target firewalld.service

Wants=network-online.target



[Service]

Type=notify

ExecStart=/usr/bin/dockerd

ExecReload=/bin/kill -s HUP $MAINPID



TimeoutSec=0



RestartSec=2



ExecStartPost=/usr/sbin/iptables -P FORWARD ACCEPT

Restart=always



TimeoutStartSec=0





LimitNOFILE=infinity

LimitNPROC=infinity



LimitCORE=infinity



Delegate=yes

KillMode=process

StartLimitBurst=3

StartLimitInterval=60s



[Install]

WantedBy=multi-user.target

解析:

Docker 服务的 systemd 单元文件配置,文件定义了如何启动 Docker 服务。

启动服务:

[root@localhost ~]# chmod +x /etc/systemd/system/docker.service

[root@localhost ~]# systemctl daemon-reload

[root@localhost ~]# systemctl enable docker.service

[root@localhost ~]# systemctl start docker

[root@localhost ~]# systemctl status docker

3.2、安装registry私有仓库

官方在Docker hub上提供了Registry的镜像,可以直接使用该Registry镜像来构建一个容器,搭建用户自己的私有仓库服务。

具体命令如下:

[root@master ~]# docker pull registry

部署私有仓库:

[root@master ~]# docker run -d -p 5000:5000 --restart=always --name registry registry:latest

解析:

  • 创建一个Registry容器来运行Registry服务;
  • -p:端口映射(前面是宿主机端口:后面是容器暴露的端口);
  • --restart=always:随docker服务的启动而启动;
  • --name=registry:指定容器名为registry!
  • 添加环境变量REGISTRY_STORAGE_DELETE_ENABLED=true开启删除镜像的功能,默认是不能删除镜像的。

3.3、配置推送

修改Docker Daemon的配置文件,文件位置为/etc/docker/daemon.json,由于Docker默认使用HTTPS推送镜像,而我们的镜像仓库没有支持,所以需要添加如下配置,改为使用HTTP推送;

修改:

{

  "insecure-registries": ["192.168.*.*:5000"]

}

解析:

  • 告诉 Docker 引擎信任一个特定的未加密(非 TLS)Docker Registry。
  • 默认情况下,Docker 要求 Docker Registry 使用 TLS 加密(即 HTTPS)。如果 Docker Registry 仅支持 HTTP 协议(未加密),则需要通过这个配置项告诉 Docker 引擎信任这些服务器。

重启docker:

systemctl daemon-reload && systemctl restart docker

3.4、安装可视化界面

        klausmeyer/docker-registry-browser 是一个用于浏览和管理 Docker Registry 的 Web 界面工具。

拉取私有仓库的可视化镜像:

[root@Tomcat ~]# docker pull klausmeyer/docker-registry-browser

部署服务:

[root@Tomcat ~]# SECRET_KEY=$(openssl rand -hex 64)

[root@Tomcat ~]# echo $SECRET_KEY

3199f8e2a867ac5de2f8aaaa4a7dc4326d3b7e58e571a0b2647b8ebb367b96dee8e6f7bd14da6fd6055d5193f0a6a42b04f068a160e143a92bd9ac56571721b4

[root@Tomcat ~]# docker run --name registry-browser -p 8080:8080 --restart=always \

>     -e DOCKER_REGISTRY_URL=http://192.168.*.*:5000/v2 \

>     -e SECRET_KEY_BASE=$SECRET_KEY \

>     -d klausmeyer/docker-registry-browser

ecfa17b080c028cd6734a4722dd26c30eb7e137983fb8fadeb0e2a1799601013

解析:

  • SECRET_KEY_BASE:这是一个用于加密的密钥,用于保证应用的安全性。
  • SECRET_KEY=$(openssl rand -hex 64):生成了一个 64 字符的十六进制字符串,并将其赋值给环境变量 SECRET_KEY
  • --restart=always:设置容器重启策略为总是重启。
  • -e DOCKER_REGISTRY_URL=http://192.168.104.80:5000/v2:设置环境变量 DOCKER_REGISTRY_URL 为 Docker Registry 的 URL。
  • -e SECRET_KEY_BASE=$SECRET_KEY:设置环境变量 SECRET_KEY_BASE 为您刚才生成的密钥。

3.5、浏览器访问 http://localhost:8080

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值