将镜像发布到 Docker Hub

Docker 是一个容器平台,方便用户创建和管理容器。本文将介绍 Docker 如何将 Docker 镜像存储在 Dockerhub 等主流镜像仓库中,以及如何将 Docker 镜像发布到 Docker Hub。将镜像发布到 DockerHub 后,用户可以更灵活地创建早期版本的 Docker 镜像。

什么是 Docker 镜像?

Docker 镜像是一个轻量级的可执行包,其中包含应用程序的所有依赖项,例如运行一段代码所需的代码、运行时和库。它有助于一致地创建 Docker 容器,并促进跨不同环境的可重复部署。

什么是 Dockerhub?

Dockerhub是一个基于云的存储库。它方便 Docker 用户存储、共享和管理 Docker 镜像。它还提供了适用于各种软件应用程序和服务的大量预构建镜像。它简化了容器应用程序的分发和协作流程

如何在 Docker Hub 上创建仓库?分步指南

步骤 1:现在我们有了 Docker 文件,接下来我们需要在 Docker Hub 中创建一个仓库,然后再将镜像推送到在线仓库。首先登录/注册 Docker Hub 并注册一个账户。

第 2 步:注册后,单击导航栏中的存储库选项卡,如下所示:

导航到存储库

步骤 3:创建一个名为geeksforgeeks的存储库作为示例,我们将如下所示使用它。

创建存储库

步骤 4:现在让我们从 docker 创建一个镜像并将其推送到geeksforgeeks存储库。

  • 要构建镜像,语法如下所示:
docker build -t username/repository_name .
  • 用户名是用户在docker hub的名称,repository_name是我们上面创建的geeksforgeeks 。

命令:

docker build -t arunbang/geeksforgeeks .

构建 Docker 镜像

将 Docker 镜像推送到镜像仓库

步骤 5:将 Docker 镜像推送到 Docker Hub

  • 因此,在推送镜像之前,我们需要使用以下命令登录 Docker 中心:
docker login

Docker 登录

  • 登录后,我们可以将容器推送到 Docker Hub。要将容器推送到 Docker Hub,我们使用以下命令:

docker push arunbang/geeksforgeeks

推送 Docker 镜像

  • 现在我们的 Docker 镜像可以在 Docker Hub 中使用了。你可以访问你的仓库来查看它。

docker hub 中的仓库

  • 以下屏幕截图说明了 docker 镜像成功推送以及它在 dockerhub 中的可用性。

docker hub 中的仓库

  • 这些是将镜像发布到 Docker Hub 的 5 个简单步骤。

在 Docker 引擎上运行 Docker 镜像

步骤6:创建运行容器

  • 使用 docker run 命令并指定 docker 镜像,我们就可以创建并运行容器了。这里我们使用 dockerhub 中公开提供的最新版本的 ubuntu 镜像创建一个正在运行的容器。
docker run -dit --name mycontainer ubuntu:latest

步骤 7:验证容器状态

运行以下命令,我们可以列出容器的状态。以下命令用于了解容器的状态。

docker ps -a

如何将 Docker 镜像推送到 Dockerhub 私有镜像仓库?分步指南

以下是帮助您将 Docker 镜像推送到 Dockerhub 私有镜像仓库的步骤:

步骤 1:在 Dockerhub 上创建私有存储库

  • 首先使用您的凭据登录 Docker Hub,然后导航到帐户设置并选择存储库。

  • 单击“创建存储库”并提供存储库的名称并确保将其设置为私有。

第 2 步:标记您的 Docker 镜像

现在,回到运行 docker 服务器的控制台。使用 docker tag 命令,将你在 dockerhub 中创建的仓库名称添加到本地 docker 镜像的标签中。

使用 docker tag 命令,并提供 Dockerhub 用户名、仓库名称和所需标签。命令如下:

docker tag <dockerhub Username>/<Docker Repository>:<Tag Name>

例子

docker tag bnvschaitanya/my-private-img:v1

步骤3:登录Dockerhub

  • 使用 docker login 命令从控制台登录到您的 Dockerhub,并指定您的身份验证信息:
docker login -u <username> -p <password>

步骤 4:将镜像推送到 Dockerhub

  • 成功登录到您的 dockerhub 后,使用以下命令将镜像推送到 Dockerhub:
docker push bnvschaitanya/my-private-img:v1

步骤 5:验证上传

  • 将镜像推送到 dockerhub 后,请进入 dockerhub 并检查创建的私有存储库,以验证是否已成功推送。

如何使用 Docker 完整标签名称并将 Docker 镜像推送到 Docker Hub?

在上面的实现中,我们已经完成了这部分,为了更好地理解这部分内容,这里介绍一下。下面是分配完整标签名称并将 Docker 镜像推送到 Docker Hub 的步骤。

步骤 1:Docker 镜像的完整标签名称

  • 使用 docker 标签,我们可以重命名容器镜像名称。这样,我们就可以进行更改,例如更改 docker 镜像仓库名称、docker 存储库名称和版本标签。

  • 以下是用于为 docker 镜像提供完整标签名称的 docker 命令。

docker tag <local_image>:<tag> <dockerhub_username>/<repository_name>:<tag>

第 2 步:登录 Dockerhub

  • 使用 docker login 命令通过 docker hub 进行身份验证:
docker login
  • 如果您只想在 docker login 命令中指定用户名和密码,请使用以下命令:
docker login -u <username> -p <password>

步骤 3:将镜像推送到 Dockerhub

docker push <dockerhub_username>/<repository_name>:<tag>

Docker Push 镜像示例

在这里,我们将您的自定义 docker 镜像构建到 dockerhub 中,同时练习确保您使用您的凭据并推送到您的 docker hub 镜像仓库。

步骤 1:列出 Docker 镜像

  • 首先列出docker本地可用的docker镜像。

  • 选择您想要推送到 docker hub 的镜像。

步骤 2:从控制台登录 Dockerhub

  • 使用 docker login 命令登录你的 dockerhub 账户,命令如下:
docker login
  • 执行后将提示询问用户名和密码。

步骤 3:推送 Docker 镜像

  • 成功登录您的 dockerhub 帐户后。

  • 使用以下命令将其推送到dockerhub账户:

docker push <dockerhub_username>/<repository_name>:<tag>

推送镜像的所有标签(-a,–all-tags)

通常,当我们对使用不同版本构建的镜像进行更改时,我们会将版本标签添加到同一个镜像中,以便在出现错误时可以恢复到之前使用该版本的镜像。以下步骤将指导您如何将镜像的所有标签推送到 dockerhub。

步骤 1:标记您的 Docker 镜像

  • 使用docker tag命令,结合以下 image_name 或 ID 以及 <dockerhub_registry>/<repository>:<tag>参数,为您的 docker 镜像添加多个标签。命令如下:
docker tag <image_id> <dockerhub_username>/<repository_name>:<tag1>
docker tag <image_id> <dockerhub_username>/<repository_name>:<tag2>

步骤2:登录Dockerhub

  • 将同名但不同标签的镜像分配到全名后,使用 docker login 命令,通过你的凭证登录到你的 Dockerhub 镜像仓库:
docker login

步骤3:推送镜像的所有标签

docker push -a <dockerhub_username>/<repository_name>
  • 这里,上面命令中的 -a 选项将使你将 docker 镜像从本地推送到 dockerhub,所有镜像都有完整的镜像名称,甚至有不同的标签。

Leave a Comment