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 验证
相关推荐
java叶新东老师3 小时前
git stash 命令详解
linux·运维·flink
写bug的羊羊4 小时前
CentOS 9 配置国内 YUM 源
linux·运维·centos
国科安芯5 小时前
抗辐照芯片在低轨卫星星座CAN总线通讯及供电系统的应用探讨
运维·网络·人工智能·单片机·自动化
gx23486 小时前
HCLP--MGER综合实验
运维·服务器·网络
angushine6 小时前
鲲鹏服务器部署Kafka2.8.1
运维·服务器
一个网络学徒7 小时前
MGRE综合实验
运维·服务器·网络
C++ 老炮儿的技术栈7 小时前
在 Scintilla 中为 Squirrel 语言设置语法解析器的方法
linux·运维·c++·git·ubuntu·github·visual studio
ldj20207 小时前
Docker的docker-compose类比Spring的ApplicationContext
spring·docker
白鹭8 小时前
基于LNMP架构的分布式个人博客搭建
linux·运维·服务器·网络·分布式·apache
ldj20208 小时前
docker 自定义网桥作用
docker·容器