docker镜像仓库registry管理
1、创建registry服务
[root@master ~]# docker pull registry
[root@master ~]# docker run -d -v /opt/registry:/var/lib/registry -p 5000:5000 --restart=always --name registry registry 异常退出重启registry服务策略:restart
[root@master ~]# docker ps |grep registry
2edf4e5a1d91 registry "/entrypoint.sh /e..." 2 weeks ago Up 18 minutes 0.0.0.0:5000->5000/tcp registry
Docker pull获取的镜像地址https://hub.docker.com/search/?q=&type=image,从此处获取仓库镜像。
下载和推送镜像到私有仓库,需要处理https问题
[root@master ~]# cat /etc/docker/daemon.json 配置私有仓库可信任
{
"registry-mirrors": ["http://hub-mirror.c.163.com"],
"insecure-registries":["192.168.19.132:5000"]
}
[root@master ~]#
2、查看镜像信息
测试,查看镜像名
[root@master ~]# curl -s -XGET localhost:5000/v2/_catalog
{"repositories":["lnmp-php","mysql","nginx","tomcat","tomcat-app"]}
[root@master ~]# curl -s -XGET localhost:5000/v2/_catalog | python -mjson.tool
{
"repositories": [
"lnmp-php",
"mysql",
"nginx",
"tomcat",
"tomcat-app"
]
}
[root@master ~]#
测试,查看镜像tag
[root@master ~]# curl -s -XGET localhost:5000/v2/_catalog
[root@master ~]# curl -s -XGET localhost:5000/v2/lnmp-php/tags/list
{"name":"lnmp-php","tags":["base"]}
[root@master ~]# curl -s -XGET localhost:5000/v2/lnmp-php/tags/list | python -mjson.tool
{
"name": "lnmp-php",
"tags": [
"base"
]
}
[root@master ~]#
测试,查看镜像 reversion
[root@master ~]# ls /opt/registry/docker/registry/v2/repositories/lnmp-php/_manifests/revisions/sha256/
88a445510f8789fc9a8f1e0f9646c985825bce5d7d66d8a60218f320691a6a93
[root@master ~]# du -sch /opt/registry/docker/registry/v2/
867M /opt/registry/docker/registry/v2/
867M 总用量
[root@master ~]#
3、删除镜像信息
测试,删除镜像
删除镜像,之前需要启动删除
[root@master ~]# docker exec -it registry /bin/sh
/ # vi /etc/docker/registry/config.yml (开启删除模式)
storage:
delete:
enabled: true
[root@master ~]# docker exec -it registry /bin/sh 删除之前查看大小
/ # du –sch
[root@master ~]# curl -X DELETE localhost:5000/v2/lnmp-php/manifests/sha256:88a445510f8789fc9a8f1e0f9646c985825bce5d7d66d8a60218f320691a6a93 删除镜像
[root@master ~]# docker exec -it registry /bin/sh
/ # registry garbage-collect /etc/docker/registry/config.yml 进入容器,垃圾回收
/ # du -sch 回收之后,镜像删除
652.1M .
652.1M total
4、清理镜像目录
[root@master ~]# curl -s -XGET localhost:5000/v2/_catalog
[root@master ~]# rm -fr /opt/registry/docker/registry/v2/repositories/lnmp-php/
自此,容器registry整个过程完成。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗