当前位置: 首页 > ai >正文

Registry镜像仓库的安装与使用

任务目标

(1)了解目前主流的镜像仓库

(2)掌握registry私有镜像仓库的部署与使用

任务实施

基础信息

Docker私有仓库个宿主机配置信息

主机名

IP地址

节点角色

registry

192.168.110.80

私有仓库

node1

192.168.110.90

客户端1

node2

192.168.110.100

客户端2

实现

1)在registry主机上利用docker pull命令从docker hub中获取registry镜像,并利用docker images命令查看下载的registry镜像。

[root@registry ~]# docker pull registry

Using default tag: latest

latest: Pulling from library/registry

dc0decf4841d: Pull complete

6cb0aa443e23: Pull complete

813676e291ef: Pull complete

dc2fb7dcec61: Pull complete

916205650bfe: Pull complete

Digest: sha256:543dade69668e02e5768d7ea2b0aa4fae6aa7384c9a5a8dbecc2be5136079ddb

Status: Downloaded newer image for registry:latest

docker.io/library/registry:latest

[root@registry ~]# docker images

2)利用docker run命令启动一个registry容器, 并挂载目录,利用容器提供私有仓库的服务,并利用docker ps命令查看registry容器是否运行

[root@registry ~]# mkdir /myregistry

[root@registry ~]# docker run -d -p 5000:5000 --name pri_registry -v /myregistry:/var/lib/registry registry

当容器的STATUS状态为UP时,表示容器正常启动、运行

[root@registry ~]# docker ps -a

CONTAINER ID   IMAGE          COMMAND                   CREATED         STATUS         PORTS                                       NAMES

281ab7d11aa7   registry       "/entrypoint.sh /etc…"   9 seconds ago   Up 8 seconds   0.0.0.0:5000->5000/tcp, :::5000->5000/tcp   pri_registry

9279742fa225   nginx:latest   "/docker-entrypoint.…"   6 days ago      Up 6 days      0.0.0.0:80->80/tcp, :::80->80/tcp           hungry_clarke

3)利用curl -X GET http://127.0.0.1:5000/v2/_catalog命令,如果显示如下信息,则表示目前仓库中还没有镜像,此时私有仓库已经创建和启动完毕了

[root@registry ~]# curl -X GET http://127.0.0.1:5000/v2/_catalog

{"repositories":[]}

Registry容器启动后,打开浏览器输入 http://ip_addr:5000/v2/

4)获取busybox镜像,修改标签名称后,将其上传到本地仓库中

[root@registry ~]# docker pull busybox

Using default tag: latest

latest: Pulling from library/busybox

a46fbb00284b: Pull complete

Digest: sha256:768e5c6f5cb6db0794eec98dc7a967f40631746c32232b78a3105fb946f3ab83

Status: Downloaded newer image for busybox:latest

docker.io/library/busybox:latest

[root@registry ~]# docker images

REPOSITORY   TAG       IMAGE ID       CREATED         SIZE

nginx        latest    60c8a892f36f   6 weeks ago     192MB

busybox      latest    517b897a6a83   7 weeks ago     4.27MB

registry     latest    c18a86d35e98   13 months ago   25.4MB

centos       latest    5d0da3dc9764   3 years ago     231MB

[root@registry ~]# docker tag busybox:latest 192.168.110.10:5000/busybox:latest

[root@registry ~]# docker images

REPOSITORY                    TAG       IMAGE ID       CREATED         SIZE

nginx                         latest    60c8a892f36f   6 weeks ago     192MB

192.168.110.80:5000/busybox   latest    517b897a6a83   7 weeks ago     4.27MB

busybox                       latest    517b897a6a83   7 weeks ago     4.27MB

registry                      latest    c18a86d35e98   13 months ago   25.4MB

centos                        latest    5d0da3dc9764   3 years ago     231MB

5)将镜像192.168.110.80:5000/busybox上传到本地仓库中

[root@registry ~]# docker push 192.168.110.80:5000/busybox:latest

The push refers to repository [192.168.110.80:5000/busybox]

Get "https://192.168.110.80:5000/v2/": http: server gave HTTP response to HTTPS client

如果出现上述提示,则表示当前采用了非HTTTPS协议进行上传(本地仓库默认使用HTTTPS协议进行上传),则可以进行(7)

6)修改/usr/lib/systemd/system/docker.service文件

ExecStart=/usr/bin/dockerd --insecure-registry 192.168.110.80:5000

保存后退出,重启docker服务

[root@registry ~]# systemctl daemon-reload

[root@registry ~]# systemctl restart docker

重启registry容器

[root@registry~]# docker restart pri_registry

pri_registry

7)再次上传镜像192.168.110.80:5000/busybox到本地仓库中

[root@registry ~]# docker push 192.168.110.80:5000/busybox:latest

验证

1)在node1和node2上修改/usr/lib/systemd/system/docker.service文件

ExecStart=/usr/bin/dockerd --insecure-registry 192.168.110.80:5000

2)重启docker服务

[root@node1 ~]# systemctl daemon-reload

[root@node1 ~]# systemctl restart docker

3)在客户端node1和node2上获取私有仓库中的busybox镜像

[root@node1 ~]# docker pull 192.168.110.80:5000/busybox

Using default tag: latest

latest: Pulling from busybox

4a52ebec3b53: Pull complete

Digest: sha256:e068ca4d0c37ee49704482526ffa96239dee80ff08442e4f7e17977ccc431bb3

Status: Downloaded newer image for 192.168.110.80:5000/busybox:latest

192.168.110.80:5000/busybox:latest

[root@node1 ~]# docker images

REPOSITORY                    TAG       IMAGE ID       CREATED       SIZE

nginx                         latest    60c8a892f36f   6 weeks ago   192MB

192.168.110.80:5000/busybox   latest    517b897a6a83   7 weeks ago   4.27MB

http://www.xdnf.cn/news/1933.html

相关文章:

  • 26考研 | 王道 | 数据结构 | 第八章 排序
  • 阿里云基于本地知识库构建RAG应用 | 架构与场景
  • 带根线就无敌?光纤无人机如何成为电子战的终结者
  • 使用kubeadmin 部署k8s集群
  • Unity中数据和资源加密(异或加密,AES加密,MD5加密)
  • 基于大牛直播SDK的Android屏幕扬声器采集推送RTMP技术解析
  • Linux实验课
  • c++之网络编程
  • 全链路自动化AIGC内容工厂:构建企业级智能内容生产系统
  • 计算机存储数据的顺序——小端(Little-Endian)与大端(Big-Endian)
  • chrome://inspect/#devices 调试 HTTP/1.1 404 Not Found 如何解决
  • 配置 RDP 远程桌面协议连接ubuntu服务器桌面
  • prometheus通过Endpoints自定义grafana的dashboard模块
  • C++23中if consteval / if not consteval (P1938R3) 详解
  • PySide与PyQt对比:为何PySide是更优选择
  • google ads超额投放解决策略
  • RFID使用指南
  • 大模型备案对模型训练语料的要求
  • 用 LangChain 手搓 RAG 系统:从原理到实战
  • 嵌入式鸿蒙系统环境搭建与配置要求实现01
  • WebUI可视化:第5章:WebUI高级功能开发
  • 【专题刷题】二分查找(二)
  • 附赠二张图,阐述我对大模型的生态发展、技术架构认识。
  • Cesium实现地形可视域分析
  • 基于CATIA参数化管道建模的自动化插件开发实践——NX建模之管道命令的参考与移植
  • POLARIS土壤相关数据集
  • HDFS 的硬链接 详解
  • 数字化技术的五个环节:大数据、云计算、人工智能、区块链、移动互联网
  • LeetCode 1780 判断一个数字是否可以表示成三的幂的和
  • 2023年第十四届蓝桥杯Scratch02月stema选拔赛真题——算式题