2.3 注册中心

系列 - Docker快速入门
摘要
在使用 Docker 时,从默认的 Docker Hub 下载镜像可能会遇到网络问题,特别是在国内网络环境下。为解决这个问题,我们可以配置镜像加速器或使用私有镜像仓库。本实验将指导你完成这两项配置,帮助你更高效地使用 Docker。
  1. 配置 Docker 镜像加速
  2. 学习使用第三方镜像注册中心
  3. 复习 Docker 镜像的推送和拉取操作
信息
虽然 Docker 官方和阿里云曾提供公开的镜像加速服务,但目前这些服务已经不再对所有用户开放。在本实验中,我们将使用一个临时的第三方加速镜像来演示配置过程。

首先,我们尝试直接从 Docker Hub 下载一个镜像,观察是否存在网络问题:

bash

docker pull ubuntu:14.04

如果出现类似下图的超时错误,说明我们需要配置镜像加速:

下载失败

使用文本编辑器创建或修改 Docker 的配置文件:

bash

vim /etc/docker/daemon.json

在配置文件中添加以下内容:

json

{
    "registry-mirrors": ["https://docker.seahi.me"]
}

这里的 https://docker.seahi.me 是我们使用的第三方镜像加速地址。

bash

systemctl restart docker

bash

docker info

在输出信息中,应该能看到 Registry Mirrors 部分包含了我们配置的加速地址:

加速镜像

bash

docker pull ubuntu:14.04

除了使用镜像加速器外,我们还可以使用私有镜像仓库来存储和分发 Docker 镜像。在本实验中,我们将使用 Harbor 作为第三方注册中心。

信息
Harbor 是一个开源的企业级 Docker 镜像仓库管理项目,提供了镜像管理、RBAC 访问控制、镜像复制等功能,适合企业内部使用。

打开浏览器,访问 Harbor 平台:

text

https://harbor.seahi.me

使用提供的账号密码登录系统。

登录后,创建一个新项目用于存储你的镜像:

  • 点击"新建项目"按钮
  • 项目名称设置为 stu00(请将 00 替换为你的学号后两位)
  • 设置适当的访问级别(公开或私有)
  • 点击"确定"创建项目

先将本地 Docker 登录到 Harbor:

bash

docker login harbor.seahi.me

然后输入你的 Harbor 账号和密码。

Docker 通过镜像名称来决定推送的目标仓库。要将本地镜像推送到 Harbor,首先需要按照 Harbor 的命名规则重新标记镜像:

bash

docker tag ubuntu:14.04 harbor.seahi.me/stu00/ubuntu:14.04

这个命令将本地的 ubuntu:14.04 镜像重新标记为 harbor.seahi.me/stu00/ubuntu:14.04,其中:

  • harbor.seahi.me 是注册中心地址
  • stu00 是项目名称(请替换为你创建的项目名)
  • ubuntu 是仓库名
  • 14.04 是标签名

使用 docker push 命令将重新标记的镜像推送到 Harbor:

bash

docker push harbor.seahi.me/stu00/ubuntu:14.04

需要把 stu00 换成你的项目名

推送完成后,在 Harbor 网页界面中打开你的项目,应该能看到刚刚推送的镜像。

为了测试从 Harbor 拉取镜像,先删除本地的相关镜像:

bash

# 删除重新标记的镜像
docker rmi harbor.seahi.me/stu00/ubuntu:14.04
# 删除原始镜像
docker rmi ubuntu:14.04

使用 docker pull 命令从 Harbor 拉取镜像:

bash

docker pull harbor.seahi.me/stu00/ubuntu:14.04

相关内容