Registry私有仓库可视化

Docker Registry 是一个用于存储和分发 Docker 镜像的服务,它支持构建私有仓库来管理组织内部的应用程序和镜像。然而,默认的 Docker Registry 并没有提供图形界面,这使得管理镜像变得不太直观。为了方便管理和查看私有仓库中的镜像,可以使用一些可视化工具来增强 Registry 的功能。

案例准备

IP主机名节点
192.168.20.22.LocalhostLocalhost

案例实施

1.安装Docker

这里以安装20版本docker为例

# 拉取阿里云镜像源
[root@localhost ~]# curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
[root@localhost ~]# curl -o /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo
# 配置docker的yum源
[root@localhost ~]# wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -P /etc/yum.repos.d/
# 查看yum中的docker版本
[root@localhost ~]# yum list docker-ce --showduplicates | sort -r
# 安装你想要的docker版本
[root@localhost ~]# yum install docker-ce-20.10.14 -y
[root@localhost ~]# docker -v
# 卸载已经安装的docker
[root@localhost ~]# yum remove docker-ce docker-ce-cli containerd.io -y
# 安装想要docker版本
[root@localhost ~]#  yum install -y docker-ce-20.10.14 docker-ce-cli-20.10.14 containerd.io-20.10.14
# 注意:我们第一次安装指定版本docker时均会出错,以下是报错解决及安装
[root@localhost ~]# yum remove docker-buildx-plugin.x86_64*
# 再次执行安装命令
[root@localhost ~]# yum install -y docker-ce-20.10.14 docker-ce-cli-20.10.14 containerd.io-20.10.14

2.关闭防火墙

# 查看防火墙状态
[root@localhost ~]# systemctl status firewalld.service 
# 暂停防火墙
[root@localhost ~]# systemctl stop firewalld.service
# 永久关闭防火墙
[root@localhost ~]# systemctl disable firewalld.service   

3.启动docker相关服务

[root@localhost ~]# systemctl daemon-reload
[root@localhost ~]# systemctl enable docker.service
[root@localhost ~]# systemctl start docker
[root@localhost ~]# systemctl status docker

 4.安装registry私有仓库

# 拉取私有镜像仓库到本地
[root@localhost ~]# docker pull registry
# 打标签
[root@localhost ~]# docker tag nginx:latest 192.168.20.22:5000/mynginx
# 上传镜像
[root@localhost ~]# docker push 192.168.20.22:5000/mynginx
# 启动私有镜像仓库
[root@localhost ~]# docker run -d -p 5000:5000 --restart always --name registry registry:lastest

启动后,浏览器访问http://IP:5000端口,访问不到任何内容,正确的访问方式:http://IP:5000/v2/_catalog看到 {"repositories":[]},说明 docker registry 已经部署成功,只是仓库中还没有存储镜像

看到 {"repositories":["mynginx"]},说明镜像已经成功上传到 docker registry 私有仓库中。 

编辑docker配置文件/etc/docker/daemon.json

[root@localhost ~]# vi /etc/docker/daemon.json
{
"registry-mirrors": [
   "https://docker.registry.cyou",
   "https://docker-cf.registry.cyou",
   "https://dockercf.jsdelivr.fyi",
   "https://docker.jsdelivr.fyi",
   "https://dockertest.jsdelivr.fyi",
   "https://mirror.aliyuncs.com",
   "https://dockerproxy.com",
   "https://mirror.baidubce.com",
   "https://docker.m.daocloud.io",
   "https://docker.nju.edu.cn",
   "https://docker.mirrors.sjtug.sjtu.edu.cn",
   "https://docker.mirrors.ustc.edu.cn",
   "https://mirror.iscas.ac.cn",
   "https://docker.rainbond.cc"
 ],
   "insecure-registries": ["192.168.20.22:5000"]
}

5.搭建可视化WEB界面

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

[root@localhost ~]# docker pull klausmeyer/docker-registry-browser
# 部署服务
[root@localhost ~]# SECRET_KEY=$(openssl rand -hex 64)
[root@localhost ~]#  echo $SECRET_KEY
0084c47cc993707c0a0b92916490f5a47fd687433dabfaa814cf6863ffb8054611e2d6fbf7b61afb32444c2be724d6bef8ab400608e3c50912a8c5fc6ceada37
[root@localhost ~]# docker run --name registry-browser -p 8080:8080 --restart=always \
> -e DOCKER_REGISTRY_URL=http://192.168.20.22:5000/v2 \
> -e SECRET_KEY_BASE=$SECRET_KEY \
> -d klausmeyer/docker-registry-browser
e283619614d213fcc0c41568fa9fd910447f84a5e4ad0d30e81a96637360cb16

 6.浏览器访问

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值