先决条件
引言
现在,由于 Docker Desktop,你已经在第二部分的本地开发机器上构建了一个容器化的应用程序。开发容器化应用程序的最后一步是在像 Docker Hub 这样的注册表上共享镜像,这样它们就可以很容易地下载并在任何目标机器上运行。
设置你的 Docker Hub 账户
如果你还没有 Docker ID,请按照以下步骤设置一个,这将允许你在 Docker Hub 上共享镜像。
- 访问 Docker Hub 注册页面,https://hub.docker.com/signup 。
- 填写表单并提交以创建你的 Docker ID 。
- 验证你的电子邮箱地址,以完成注册过程。
- 单击工具栏或系统托盘中的 Docker 图标,然后单击 Sign in / Create Docker ID。
- 填写新的 Docker ID 和密码。成功通过身份验证后,Docker ID 将出现在 Docker 桌面菜单中,而不是你刚才使用的 ‘Sign in’ 选项。
你可以通过输入 docker login 在命令行中执行相同的操作。
创建 Docker Hub 存储库并推送镜像
此时,你已经设置了 Docker Hub 账户并将其连接到 Docker Desktop。现在让我们做我们的第一个回购,并在那里分享我们的电子公告板应用程序。
- 单击菜单栏中的 Docker 图标,并导航到 Repositories > Create 。你将被带到 Docker Hub 页面来创建一个新的存储库。
- 将存储库名称填写为 bulletinboard ,暂时不考虑其他选项,单击底部的 Create 。
现在可以在 Docker Hub 上共享镜像了,但是有一件事必须首先完成:必须正确地使用名称空间来在 Docker Hub 上共享镜像。具体来说,你必须将镜像命名为
/ : 。你可以重新标记你的 bulletinboard:1.0 像这样的镜像(当然,去哦那个用你的 Docker ID替换 gordon ): docker tag bulletinboard:1.0 gordon/bulletinboard:1.0
最后,将你的镜像推送到 Docker Hub。
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 存储库描述中添加一个链接或注释,指示可以在何处找到这些软件,从而不仅保留镜像构建方式的记录,还保留镜像作为完整应用程序运行的方式的记录。