Docker私有仓库

私有仓库概述

私有仓库是存储docker image的仓库。

管理了一个docker集群,在所有节点维护镜像的一致性是一个非常繁琐的任务,使用公共仓库又无法控制仓库中的镜像版本等数据,使用私有仓库是解决这些问题的最佳方法。

用户只需要维护私有仓库里面的镜像即可,docker客户端可以通过私有仓库创建容器服务。

主流仓库有docker Registry和vmware Harbor。

Registry提供了仓库的核心功能,包括分层传输机制、WEB接口等功能。

Harbor是在Registry上进行了相应的企业级扩展,从而获得了更加广泛的应用,这些新的企业级特性包括:提供WEB页面,优化用户体验,支持登录、搜索功能,区分公有、私有镜像,以及基于角色的访问控制,集成日志审计、支持水平扩展等功能。

配置私有仓库

仓库配置文件路径:/etc/docker-distribution/registry/config.yml

仓库数据存储路径:/var/lib/registry

默认端口号:5000

registry安装

# 安装私有仓库
[root@registry ~]# dnf install -y docker-distribution
# 设置开机自启动
[root@registry ~]# systemctl enable --now docker-distribution

客户端配置

[root@docker ~]# vim /etc/hosts
192.168.1.35    registry
# 修改配置文件
[root@docker ~]# vim /etc/docker/daemon.json
{
    "registry-mirrors": ["http://registry:5000"],
    "insecure-registries":["registry:5000"]
}
# 重启服务生效
[root@docker ~]# systemctl restart docker
[root@docker ~]# docker info

上传镜像

# 镜像设置标签
[root@docker ~]# docker tag  nginx:latest registry:5000/img/myimg:nginx

# 上传镜像
[root@docker ~]# docker push registry:5000/img/myimg:nginx
The push refers to repository [registry:5000/img/myimg]
c9d01852a13b: Pushed 
......
nginx: digest: sha256:3e1fc9ad1ee46ee4619c95dc9d71034d919e53abfc size: 952

测试

查看镜像名称:curl http://仓库IP:5000/v2/_catalog

查看镜像标签:curl http://仓库IP:5000/v2/镜像路径/tags/list

# 查看仓库中所有镜像的名称
[root@docker ~]# curl http://registry:5000/v2/_catalog
{"repositories":["img/myimg", "library/httpd"]}

# 查看某一镜像的所有标签
[root@docker ~]# curl http://registry:5000/v2/img/myimg/tags/list
{"name":"img/myimg","tags":["nginx", "php-fpm"]}

创建容器
 

# 使用仓库中的镜像运行容器
[root@docker ~]# docker run -itd --rm registry:5000/img/myimg:nginx
2b7cd6d88a7665dbea0a4b3d99478e9f302c0a5661d7676d6d3bd3cb6d181

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值