Docker - 公共仓库
Docker - 管理公共仓库
Section titled “Docker - 管理公共仓库”Docker Hub 允许您通过将自定义 Docker 镜像(images)推送到公共仓库(repositories)来与全世界共享。这对于开源项目或分发工具和应用程序非常有用。
本章概述了构建本地镜像、为其在 Docker Hub 上进行适当标记(tag)以及将其推送到与您的 Docker ID 关联的公共仓库的步骤。
假设您已经构建了一个本地镜像,例如 myimage:0.1(在“构建 Docker 文件”章节中创建)。
# 验证本地镜像是否存在docker images将镜像上传到 Docker Hub 的步骤
Section titled “将镜像上传到 Docker Hub 的步骤”步骤 1: 通过 CLI 登录 Docker Hub
在推送镜像之前,您需要使用您的 Docker Hub 凭据(credentials)进行身份验证。
docker login在提示时输入您的 Docker ID(用户名)和密码。将显示成功的登录消息。
步骤 2: 为您的本地镜像打标签
在推送(pushing)之前,您必须使用包含您的 Docker Hub 用户名和所需仓库名称的名称为本地镜像打标签。格式是 your-dockerhub-username/repository-name:tag。
让我们为本地镜像 myimage:0.1 打标签,以便将其推送到您用户名下的一个名为 demorep 的仓库(将 yourdockerhubusername 替换为您实际的 Docker ID)。
# docker tag <源镜像>:<源标签> <hub 用户>/<仓库名称>:<目标标签>docker tag myimage:0.1 yourdockerhubusername/demorep:1.0此命令创建一个新标签 (yourdockerhubusername/demorep:1.0),该标签指向与 myimage:0.1 相同的镜像 ID(image ID)。它不会复制镜像数据。
您可以使用 docker images 验证新标签是否存在。
步骤 3: 推送已打标签的镜像 (docker push)
现在,使用 docker push 命令和完全限定的标签名称,将镜像层(image layers)上传到 Docker Hub。
docker push yourdockerhubusername/demorep:1.0Docker 将在推送每个层(layer)时显示进度。如果该仓库 (demorep) 在您的 Docker Hub 账户下尚不存在,Docker Hub 通常会在首次推送时自动将其创建为公共仓库。
步骤 4: 在 Docker Hub 上验证(可选)
登录 Docker Hub 网站 (https://hub.docker.com/)。导航到您的仓库,您应该会找到包含 1.0 标签的 demorep 仓库。
拉取公共镜像
Section titled “拉取公共镜像”现在,任何人(包括您自己在使用不同机器或移除本地镜像后)都可以从 Docker Hub 拉取(pull)并运行您的镜像。
步骤 5: 移除本地镜像(可选,用于测试拉取)
# 移除指向 Docker Hub 仓库的特定标签docker rmi yourdockerhubusername/demorep:1.0
# (可选)也移除原始的本地标签# docker rmi myimage:0.1步骤 6: 从 Docker Hub 拉取镜像
docker pull yourdockerhubusername/demorep:1.0Docker 将从 Docker Hub 下载镜像。您现在已成功构建(built)、推送(pushed)和拉取(pulled)了一个公共 Docker 镜像。