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

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

相关文章:

  • 永久缓存 Git 凭证
  • DAX Studio将PowerBI与EXCEL连接
  • 静态网页开发与部署
  • 《修仙家族模拟器2》:游戏背景故事介绍!
  • flume整合kafka
  • vue3中的effectScope有什么作用,如何使用?如何自动清理
  • 使用yolo用python检测人脸
  • 蓝桥杯 4. 卡片换位
  • QT开发技术【QT实现桌面右下角消息】
  • 【滑动窗口+哈希表/数组记录】Leetcode 76. 最小覆盖子串
  • 解决ssh拉取服务器数据,要多次输入密码的问题
  • 基于ssm的同城上门维修平台管理系统(源码+数据库)
  • 矫平机深度解析:操作实务、行业标准与智能化升级
  • 【金仓数据库征文】交通行业的国产化数据库替换之金仓数据库KingbaseES应用实践
  • FlinkJobmanager深度解析
  • 【中级软件设计师】函数调用 —— 传值调用和传地址调用 (附软考真题)
  • C#中实现XML解析器
  • Vue 3 父子组件通信案例详解:Props 与 Emits 实战
  • MySQL 详解之用户、权限与审计:保障数据安全的基石
  • MCP协议:AI与工具无缝连接的“万能插头“及最佳实践指南
  • 玉渊谭天丨“稀土管制让美国慌了”,美军工稀土储备仅够数月
  • 鞍钢矿业党委书记、董事长刘炳宇调任中铝集团副总经理
  • 男子称喝中药治肺结节三个月后反变大增多,自贡卫健委回应
  • 美银证券前董事总经理胡霁光履新,任摩根士丹利中国区副主席
  • 百台新车首秀上海车展,跨国车企联手中国技术开启智能化下半场
  • 5月1日起,涉外婚姻登记将在上海市16区全面铺开