08 docker Registry搭建docker私仓

目录

[@ 本地镜像发布流程](#@ 本地镜像发布流程)

[1. docker pull registry 下载镜像](#1. docker pull registry 下载镜像)

[2. docker run 运行私有库registry](#2. docker run 运行私有库registry)

[3. docker commit 构建镜像](#3. docker commit 构建镜像)

[4. docker tag 修改新镜像,使之符合私服规范tag](#4. docker tag 修改新镜像,使之符合私服规范tag)

[5. 修改配置文件使之支持http](#5. 修改配置文件使之支持http)

[6. curl验证私服库上有什么镜像](#6. curl验证私服库上有什么镜像)

[7. push推送 pull拉取 run验证](#7. push推送 pull拉取 run验证)


@ 本地镜像发布流程

1. docker pull registry 下载镜像

Docker Registry是官方提供的工具,可以用于构建私有镜像仓库

2. docker run 运行私有库registry

[root@rockylinux docker_registry]# pwd
/root/docker_registry
[root@rockylinux docker_registry]# docker run -d -p 5000:5000 -v /root/docker_registry/:/tmp/registry --privileged=true registry

默认情况,仓库被创建在容器的/var/lib/registry目录下,建议自行用容器卷映射,方便于宿主机联调(调试和开发)

3. docker commit 构建镜像

[root@rockylinux ~]# docker run -it --name ifconfigubuntu ubuntu /bin/bash
root@6d6fe54d8a52:/# ifconfig
bash: ifconfig: command not found
root@6d6fe54d8a52:/# apt-get update
root@6d6fe54d8a52:/# apt-get install -y net-tools
root@6d6fe54d8a52:/# which ifconfig
/usr/sbin/ifconfig
----------------------------------------------------------------------------------------
[root@rockylinux ~]# docker commit -m="this add ifconfig" -a="fujiang" 6d6fe54d8a52 ifconfigubuntu:1.2
sha256:c14a3d7cdae651f3dbcd580c155ec08e87a3a062e677ebd10b51772377074eb5
[root@rockylinux ~]# docker images
REPOSITORY                        TAG       IMAGE ID       CREATED          SIZE
ifconfigubuntu                    1.2       c14a3d7cdae6   10 seconds ago   126MB
registry                          latest    b8604a3fe854   2 years ago      26.2MB
ubuntu                            latest    ba6acccedd29   2 years ago      72.8MB
[root@rockylinux ~]# docker run -it ifconfigubuntu:1.2
root@dd818118ec9c:/# which ifconfig
/usr/sbin/ifconfig

4. docker tag 修改新镜像,使之符合私服规范tag

公式:docker tag 镜像:Tag Host:Port/Repository:Tag

[root@rockylinux ~]# docker tag ifconfigubuntu:1.2 172.16.12.51:5000/ifconfigubuntu:1.2

[root@rockylinux ~]# docker images
REPOSITORY                                                         TAG       IMAGE ID       CREATED          SIZE
ifconfigubuntu                                                     1.2       c14a3d7cdae6   36 minutes ago   126MB
172.16.12.51:5000/ifconfigubuntu                                   1.2       c14a3d7cdae6   36 minutes ago   126MB

5. 修改配置文件使之支持http

[root@rockylinux ~]# vim /etc/docker/daemon.json
{
  "registry-mirrors": ["https://3ozi8ijo.mirror.aliyuncs.com"],
  "insecure-registries": ["172.16.12.51:5000"]
}
systemctl daemon-reload
systemctl restart docker

注意:为json格式 , 不要遗漏

6. curl验证私服库上有什么镜像

[root@rockylinux ~]#  curl -X GET http://172.16.12.51:5000/v2/_catalog
{"repositories":[]} 
#初始为空

HTTP API V2 :HTTP API V2 | Docker Documentation

这个命令用于通过 curl 工具向 Docker Registry 发送一个 HTTP GET 请求,以获取镜像仓库(repository)列表。具体来说,它访问的是 Docker Registry API 的 _catalog 端点,该端点会返回一个 JSON 对象,列出所有在该 Registry 中存在的镜像仓库。

curl -XGET http://192.168.111.162:5000/v2/_catalog

  • -X参数用于指定 HTTP 请求方法,这里是GET方法。实际上,对于GET请求来说,-XGET可以省略,因为GETcurl的默认方法。
  • 例如,curl http://192.168.111.162:5000/v2/_catalogcurl -XGET http://192.168.111.162:5000/v2/_catalog效果是相同的。
    • http:使用 HTTP 协议。
    • 192.168.111.162:目标服务器的 IP 地址。
    • 5000:目标服务器上运行 Docker Registry 服务的端口。
    • /v2/_catalog:Docker Registry API 的_catalog端点,用于获取镜像仓库的列表。 返回示例, 假设您在本地 Registry 中有两个镜像仓库ubuntunginx,响应可能会是这样的:

7. push推送 pull拉取 run验证

[root@rockylinux ~]# docker push 172.16.12.51:5000/ifconfigubuntu:1.2

[root@rockylinux ~]#  curl -XGET http://172.16.12.51:5000/v2/_catalog
{"repositories":["ifconfigubuntu"]}

[root@rockylinux ~]# docker pull 172.16.12.51:5000/ifconfigubuntu:1.2

docker run 验证
相关推荐
虾稿1 小时前
[手机Linux] 七,NextCloud优化设置
linux·运维·服务器
首发运维1 小时前
centos 释放系统预留内存并关闭Kdump服务
linux·运维·centos·linux操作系统问题
稳重的大王1 小时前
威联通NAS部署openwrt软路由保姆级教程附镜像文件
运维·服务器
ascarl20101 小时前
【Nginx系列】---Nginx配置tcp转发
运维·tcp/ip·nginx
新子-存在了1 小时前
linux中 mysql备份
linux·运维·mysql
ZHOUPUYU1 小时前
VMware虚拟机超详细安装Linux教程(最新版)
linux·运维·服务器·windows·微软·centos·虚拟机
成都渲染101云渲染66661 小时前
云渲染,Enscape、D5、Lumion渲染提速教程
运维·服务器·unity·电脑·图形渲染·blender·houdini
初级代码游戏1 小时前
关于linux的ld.so.conf.d
linux·运维·服务器
m0_748232391 小时前
在Linux centos7环境下部署wblogic使用weblogic部署war包项目
linux·运维·服务器
handsomestWei2 小时前
Nginx整合Lua脚本
运维·nginx·lua