先决条件

完成第2部分中构建镜像并将其作为容器应用程序运行的步骤。

引言

现在,由于 Docker Desktop,你已经在第二部分的本地开发机器上构建了一个容器化的应用程序。开发容器化应用程序的最后一步是在像 Docker Hub 这样的注册表上共享镜像,这样它们就可以很容易地下载并在任何目标机器上运行。

设置你的 Docker Hub 账户

如果你还没有 Docker ID,请按照以下步骤设置一个,这将允许你在 Docker Hub 上共享镜像。

  1. 访问 Docker Hub 注册页面,https://hub.docker.com/signup
  2. 填写表单并提交以创建你的 Docker ID 。
  3. 验证你的电子邮箱地址,以完成注册过程。
  4. 单击工具栏或系统托盘中的 Docker 图标,然后单击 Sign in / Create Docker ID
  5. 填写新的 Docker ID 和密码。成功通过身份验证后,Docker ID 将出现在 Docker 桌面菜单中,而不是你刚才使用的 ‘Sign in’ 选项。

你可以通过输入 docker login 在命令行中执行相同的操作。

创建 Docker Hub 存储库并推送镜像

此时,你已经设置了 Docker Hub 账户并将其连接到 Docker Desktop。现在让我们做我们的第一个回购,并在那里分享我们的电子公告板应用程序。

  1. 单击菜单栏中的 Docker 图标,并导航到 Repositories > Create 。你将被带到 Docker Hub 页面来创建一个新的存储库。
  2. 将存储库名称填写为 bulletinboard ,暂时不考虑其他选项,单击底部的 Create 。

Part 3:在 Docker Hub 上共享镜像 - 图1

  1. 现在可以在 Docker Hub 上共享镜像了,但是有一件事必须首先完成:必须正确地使用名称空间来在 Docker Hub 上共享镜像。具体来说,你必须将镜像命名为 /: 。你可以重新标记你的 bulletinboard:1.0 像这样的镜像(当然,去哦那个用你的 Docker ID替换 gordon ):

    1. docker tag bulletinboard:1.0 gordon/bulletinboard:1.0
  2. 最后,将你的镜像推送到 Docker Hub。

    1. docker push gordon/bulletinboard:1.0

访问 Docker Hub 中的存储库,你将在那里看到新的镜像。记住,Docker Hub 存储库在默认情况下是公共的。
推动有困难?请记住,你必须通过 Docker 桌面或命令行登录到 Docker Hub,你还必须按照上述步骤正确地命名镜像。如果推送似乎工作,但你没有看到它在 Docker Hub,刷新你的浏览器几分钟后,再次检查。

结论

现在你的镜像已经可以在 Docker Hub 上使用了,你可以在任何地方运行它。如果你尝试在还没有它的新机器上使用它, Docker 将自动尝试并从 Docker Hub 上下载它。通过这种方式移动镜像,你不再需要在希望在其上运行软件的机器上安装除了 Docker 之外的任何依赖项。容器化应用程序的依赖关系完全封装并隔离在镜像中,你可以使用上面描述的 Docker Hub 共享镜像。
另一件需要记住的事情:你目前,你只是将你的镜像推送到 Docker Hub;你的 Dockerfile 呢?一个至关重要的最佳实践是将它们放在版本控制中,可能与应用程序的源代码放在一起。你可以在 Docker Hub 存储库描述中添加一个链接或注释,指示可以在何处找到这些软件,从而不仅保留镜像构建方式的记录,还保留镜像作为完整应用程序运行的方式的记录。