Docker注册中心与仓库
在 Docker 生态系统中,注册中心(Registry)和仓库(Repository)是两个重要的概念,用于存储和分发 Docker 镜像。
Docker 注册中心(Registry)
Docker 注册中心 是一个用于存储和分发 Docker 镜像的服务。它允许用户推送(上传)和拉取(下载)镜像到/从集中存储位置。注册中心可以是公共的,例如 Docker Hub,也可以是私有的,例如自托管的 Docker Registry 或企业级解决方案如 Harbor。
主要功能
- 存储:保存 Docker 镜像的所有版本。
- 分发:通过网络分发 Docker 镜像。
- 管理:管理用户访问和权限。
常见的 Docker 注册中心
- Docker Hub:官方提供的公共注册中心,免费和付费用户均可使用。
- Harbor:一个开源的企业级注册中心,提供丰富的功能如角色访问控制、镜像复制、审计日志、漏洞扫描等
- 阿里云容器镜像服务:阿里云提供的容器镜像存储服务。
- 腾讯云容器镜像服务:腾讯云提供的容器镜像存储服务。
Docker 仓库(Repository)
Docker 仓库 是 Docker 注册中心中的一个逻辑单元,用于存储某一类镜像的集合。每个仓库可以包含多个镜像版本(标签)。
主要特点
- 命名空间:仓库通常以用户名或组织名作为命名空间。
- 镜像版本:一个仓库可以包含同一应用程序的多个版本,通过标签(tag)来区分。
- 私有与公共:仓库可以设置为私有或公共。
仓库命名示例
- 公共仓库:nginx(不带命名空间,默认在官方命名空间)
- 用户仓库:username/repository 例如 john/nginx
- 组织仓库:orgname/repository 例如 mycompany/webapp
Docker Hub
Docker Hub 是 Docker 官方提供的公共注册中心,用于存储和分发 Docker 镜像。它是最常用的 Docker 镜像仓库,开发者和企业可以在 Docker Hub 上发布、共享和获取 Docker 镜像。
主要功能
- 镜像存储:存储各种公开或私有的 Docker 镜像。
- 镜像自动构建:通过与 GitHub 或 Bitbucket 仓库集成,支持代码提交后自动构建 Docker 镜像。
- 镜像发现:搜索和发现官方或社区提供的 Docker 镜像。
- 镜像分享:用户和团队可以共享镜像,方便协作和分发。
- Web 界面管理:通过友好的 Web 界面管理镜像和仓库。
- 权限管理:支持对镜像和仓库设置访问权限,保护私有镜像。
使用Docker Hub
访问Docker Hub官网注册账号或登录账号(访问外网需要代理工具)docker hub官网
当注册属于自己的Docker hub账号,点击右上角的sign in进行登录操作。
进入主界面,选择创建仓库;创建私有仓库;
在Linux服务器本地使用docker login登录docker hub账户;
使用docker images命令查看本地的镜像列表;
使用docker tag命令将本地的nginx:latest重新打上标签;
[root@localhost ~]# docker tag nginx:latest cyh2024/my_registry:20240706
使用docker push命令将Linux服务器本地重新标记的镜像上传到个人docker hub仓库;
[root@localhost ~]# docker push cyh2024/my_registry:20240706
注意:因某些原因,可能本地镜像会无法正常上传,会出现诸如dial tcp 45.114.11.238:443: connect: connection refused,可能需要代理支持。
使用阿里云镜像服务
1.访问阿里云-计算,为了无法计算的价值阿里云官网。登录或注册阿里云账户。
2.在阿里云主界面依次选择“产品>容器>容器镜像服务ACR”;
3.点击管理控制台;
4.选择个人版实例,并创建实例;
5.设置registry密码;
6.创建镜像仓库;
7.在Linux服务器本地使用docker login登录阿里云账户;
8.将本地现有的nginx:latest重新打上标签;
[root@localhost ~]# docker tag nginx:latest registry.cn-hangzhou.aliyuncs.com/cyh2024/my-registry:20240706
9.将该镜像推送到阿里云镜像仓库;
[root@localhost ~]# docker push registry.cn-hangzhou.aliyuncs.com/cyh2024/my-registry:20240706
10.在阿里云镜像仓库平台上查看推送效果;
阿里云镜像加速器
在当前界面选择镜像工具>>镜像加速器进行配置;
[root@localhost ~]# mkdir -p /etc/docker
[root@localhost ~]# tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://bg6cz5yk.mirror.aliyuncs.com"]
}
EOF
[root@localhost ~]# systemctl daemon-reload
[root@localhost ~]# systemctl restart docker.service