Docker Hub 介绍与使用指南
Docker Hub 是 Docker 公司提供的云端注册表服务,用于存储、管理和共享 Docker 容器镜像。它是一个中心化的平台,开发者可以在其中上传自定义镜像、拉取官方镜像,并围绕容器化的应用程序进行协作。
Docker Hub 的核心功能
Docker Hub 提供了一系列旨在简化容器化应用程序开发和部署的功能:
- 镜像仓库 (Image Repositories): 作为容器镜像的主要注册中心,允许用户创建公共和私有仓库。公共仓库对所有人开放,而私有仓库则仅限于授权用户和团队访问。
- 官方和认证发布者镜像 (Official and Verified Publisher Images): Docker Hub 托管着来自官方软件供应商和社区的受信任镜像,为应用程序提供了可靠的基础镜像。
- 自动化构建 (Automated Builds): 用户可以将 Docker Hub 链接到 GitHub 或 Bitbucket 等源代码仓库。每当代码推送到链接的仓库时,此功能会自动构建新的 Docker 镜像,从而促进持续集成和部署。
- Webhooks: Webhooks 允许在镜像更新时自动执行操作,例如部署镜像或发送通知。这对于与 CI/CD 流水线集成非常有用。
- 镜像扫描 (Image Scanning): 对于 Pro 和 Team 账户,Docker Hub 提供安全扫描功能,检查镜像中是否存在已知的漏洞,从而提供潜在安全风险的洞察。
- 团队协作 (Team Collaboration): 它包含用于组织内用户、团队和权限管理的工具,使团队更容易共享和控制对 Docker 镜像的访问。
- 镜像标签 (Image Tagging): 镜像可以使用版本号或其他标识符进行标记,这有助于组织和管理应用程序的不同版本。
- 搜索功能 (Search Functionality): 用户可以通过网页界面或 Docker CLI 轻松搜索数百万个镜像。
Docker Hub 使用指南
要有效地使用 Docker Hub,您通常需要与 Docker Hub 网站和 Docker 命令行界面 (CLI) 进行交互。
1. 创建 Docker Hub 账户
首先,您需要在 Docker Hub 网站 (hub.docker.com) 上创建一个免费的 Docker ID。此账户可让您访问 Docker Hub 仓库并搜索镜像。
2. 从 CLI 登录 Docker Hub
在推送或拉取私有镜像,或推送任何镜像之前,您需要通过终端登录:
bash
docker login
系统将提示您输入 Docker Hub 用户名和密码。出于安全考虑,建议使用个人访问令牌 (Personal Access Token) 而不是主密码。您可以在 Docker Hub 账户设置的“安全”部分生成访问令牌。
3. 搜索 Docker 镜像
您可以使用 docker search 命令在 Docker Hub 上搜索镜像:
bash
docker search <term>
例如,docker search ubuntu 将列出与 Ubuntu 相关的镜像。您可以使用 --filter 标志按星级、官方镜像或自动化构建结果进行过滤。
4. 拉取 Docker 镜像
要将 Docker Hub 上的镜像下载到本地计算机,请使用 docker pull 命令:
bash
docker pull <image_name>[:<tag>]
如果您未指定标签,Docker 将默认拉取 latest 版本。例如,docker pull ubuntu:22.04 将拉取特定版本的 Ubuntu。
5. 在 Docker Hub 上创建仓库
要存储您自己的镜像,您需要创建一个仓库:
- 登录 Docker Hub。
- 导航到“Repositories”并点击“Create repository”。
- 选择一个命名空间(您的用户账户或组织)。
- 提供一个唯一的仓库名称(2-255 个字符,小写字母、数字、连字符、下划线)。
- 添加一个简短的描述(最多 100 个字符)。
- 选择可见性(公共或私有)。
- 点击“Create”。
6. 推送 Docker 镜像
要将本地镜像上传到您的 Docker Hub 仓库:
-
构建您的镜像(如果尚未构建):
bash
docker build -t <local-image-name> . -
标记您的镜像,使用您的 Docker Hub 用户名和仓库名称。这会将您的本地镜像链接到远程仓库:
bash
docker tag <local-image-name> <your-docker-username>/<repository-name>[:<tag>]例如:
docker tag my-app myusername/my-repo:v1.0 -
将标记的镜像推送到 Docker Hub:
bash
docker push <your-docker-username>/<repository-name>[:<tag>]例如:
docker push myusername/my-repo:v1.0 -
通过在 Docker Hub 网站上检查您的仓库来验证上传。
7. 自动化构建(可选)
要设置自动化构建:
- 在 Docker Hub 中,转到仓库的“Builds”选项卡。
- 连接您的 GitHub 或 Bitbucket 账户。
- 选择源仓库并配置构建规则(例如,要构建的分支或标签)。
- 当链接的源仓库中的代码更新时,Docker Hub 将自动构建并推送新镜像。