Docker 镜像的公有与私有仓库

Docker 镜像仓库概述

Docker 镜像仓库用于存储、管理和分发 Docker 镜像,分为:

  • 公有仓库:如 Docker Hub、阿里云镜像仓库等,对外开放
  • 私有仓库:如 Docker Registry、Harbor,用于企业内部镜像管理

一、Docker Hub 公有仓库

1、注册账号
  • 访问 https://hub.docker.com/ 注册 Docker ID

在这里插入图片描述

2、登录 Docker Hub

由于使用的国外的网站,在国内登录,显示超时是正常现象

因此不推荐使用此仓库

[root@docker ~]# docker login

在这里插入图片描述

3、重名镜像
docker tag <原镜像名>:<标签> <用户名>/<镜像名>:<标签>
4、上传镜像
docker push <用户名>/<镜像名>:<标签>
5、查看与管理
  • 登录 Docker Hub 网站,在 Public Repository 中查看或删除镜像

二、阿里云公有仓库

1、登录阿里云控制台

在这里插入图片描述

根据提示进行下面操作

在这里插入图片描述

2、登录阿里云仓库
[root@docker ~]# docker login --username=wiltjer crpi-p8sx9czqbmn2nzai.cn-hangzhou.personal.cr.aliyuncs.com
3、重命名镜像
[root@docker ~]# docker tag centos:7 crpi-p8sx9czqbmn2nzai.cn-hangzhou.personal.cr.aliyuncs.com/wiltjer/wil:centos7
4、上传镜像
[root@docker ~]# docker push crpi-p8sx9czqbmn2nzai.cn-hangzhou.personal.cr.aliyuncs.com/wiltjer/wil:centos7
5、查看与管理

在这里插入图片描述

在这里插入图片描述

三、Docker Registry 私有仓库

1、配置 Docker 信任私有仓库
  • 编辑 /etc/docker/daemon.json
[root@docker ~]# vim /etc/docker/daemon.json

在这里插入图片描述

  • 重启 Docker
[root@docker ~]# systemctl daemon-reload
[root@docker ~]# systemctl restart docker
2、拉取并运行 Registry 容器
[root@docker ~]# docker pull registry:2
[root@docker ~]# docker run -d -p 5000:5000 --restart always --name wilregistry registry:2
3、重命名镜像
[root@docker ~]# docker tag centos:7 192.168.100.10:5000/centos:7
# docker tag <镜像名>:<标签> <服务器IP>:5000/<镜像名>:<标签>
4、上传镜像
[root@docker ~]# docker push 192.168.100.10:5000/centos:7
# docker push <服务器IP>:5000/<镜像名>:<标签>
5、查看与管理
[root@docker ~]# curl http://192.168.100.10:5000/v2/_catalog

四、Harbor 企业级私有仓库

Harbor 是一个企业级 Docker Registry,提供用户管理、访问控制、镜像同步、日志审计等功能

1、下载并解压 Harbor
2、配置 Docker 信任 Harbor
  • 编辑 /etc/docker/daemon.json
[root@docker ~]# vim /etc/docker/daemon.json 

在这里插入图片描述

  • 重启 Docker
[root@docker ~]# systemctl daemon-reload
[root@docker ~]# systemctl restart docker
3、修改配置文件 harbor.yml
[root@docker ~]# cd harbor/
[root@docker harbor]# vim harbor.yml

在这里插入图片描述

4、安装 Docker Compose 并安装 Harbor
[root@docker harbor]# yum -y install docker-compose
[root@docker harbor]# ./install.sh
5、访问 Harbor 管理界面

在这里插入图片描述

6、创建仓库

在这里插入图片描述

7、登录并上传镜像
[root@docker ~]# docker login 192.168.100.10 -u admin -p Harbor12345
[root@docker ~]# docker tag centos:7 192.168.100.10/wiltjer/centos:7
# docker tag <镜像名>:<标签> <服务器IP>/<项目名>/<镜像名>:<标签>
[root@docker ~]# docker push 192.168.100.10/wiltjer/centos:7
# docker push <服务器IP>/<项目名>/<镜像名>:<标签>
8、查看与管理

在这里插入图片描述

五、总结与对比

仓库类型 典型代表 认证方式 镜像命名格式 适用场景
公有仓库 Docker Hub Docker ID username/repo:tag 个人开发者、开源项目
公有仓库 阿里云仓库 阿里云账号 registry.aliyuncs.com/ns/repo:tag 国内用户、企业级加速
私有仓库 Docker Registry 无(或自签证书) ip:port/repo:tag 内网简单镜像存储
私有仓库 Harbor 用户/密码 + RBAC ip/project/repo:tag 企业级镜像管理、安全审计
Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐