在 Dockerhub 上发布 Docker 镜像
Dockerhub 或者官方的 Docker 注册表包含了许多预构建的 Docker 镜像,以及其他用户自定义的镜像,如果这些镜像被公开,您可以将其拉取到您的系统中。为了能够拉取或推送镜像到 Docker 注册表,您首先需要在 Dockerhub 上拥有一个账户。
要创建 Dockerhub 上的账户和仓库,您可以按照以下步骤操作:
访问 Docker hub (链接 - https://hub.docker.com/).
创建一个账户,或者如果您已经拥有账户,请使用您的账户信息登录。
登录后,点击欢迎页面上的“创建仓库”。
填写详细信息,例如仓库名称、可见性(公开或私有)等。
让我们首先看看如何从 Dockerhub 拉取现有的镜像。
您可以使用以下命令:
sudo docker run −it ubuntu
这将检查您的系统中是否已经存在 Ubuntu 镜像。如果不存在,它将开始从 Dockerhub 拉取。
您也可以使用以下命令简单地拉取镜像。
sudo docker pull ubuntu
现在,我们将了解如何将您自己的自定义镜像发布到 Dockerhub。在您在 Dockerhub 上创建账户并验证您的邮箱 ID 后,您就可以发布您的第一个镜像了。
在您按照上述步骤在 Dockerhub 上创建仓库后,打开终端并运行以下命令登录:
sudo docker login −−username=<USERNAME> −−email=<EMAIL ID>
在上述命令中使用您的用户名和邮箱 ID,运行该命令,它将提示您输入正确的密码。输入密码后,运行以下命令检查本地系统中的镜像列表
sudo docker images
您可以使用以下命令标记要发布的镜像。
sudo docker tag <image−id> <user−name>/<image−name>:<tag>
您应该使用一个能够很好地描述您的镜像的标签名称。您可以使用镜像的版本,或者简单地使用合适的项目名称。
之后,您可以使用以下命令将您的镜像推送到 Docker 注册表:
sudo push <user−name>/image−name
此后,您的镜像将发布到 Dockerhub,如果它是公开的,Dockerhub 上的任何人都可以拉取并使用它。
要拉取镜像并运行它,您可以使用以下命令:
sudo docker pull <user−name>/<image−name>:<tag> sudo docker run −it <user−name>/<image−name>:<tag>
但是,如果您的目标只是保留备份或将镜像存储在某个地方,以便将来能够恢复它,则应避免将镜像发布到 Dockerhub。这样做的原因是,如果您想对镜像进行频繁更改并多次发布它,然后将其推回,它将消耗大量带宽,如果您正在处理多个镜像,它也将消耗大量资源。一个可能的解决方案是,只需将镜像作为 tar 文件保存在本地系统中,并在需要时加载它。
要将镜像的本地副本保存为 tar 文件,您可以使用以下命令。
sudo docker save image−name > tar−file−name.tar
要加载镜像,您可以使用:
sudo docker load −−input tar−file−name.tar
总之,在本文中,我们了解了如何在 Docker 的官方注册表 Dockerhub 中创建账户,在其中创建仓库,将自定义的 Docker 镜像推送到其中,以及如何将其拉回并运行。我们还了解了一种替代且有效的方法,如果您想通过将镜像保存为 tar 文件并在以后加载它来备份和恢复镜像。
为 Docker 镜像创建备份非常必要,因为在发生意外情况下,您不希望丢失所有工作,并且在无法访问之前的 Dockerfile 的情况下,重新创建该镜像的所有内容是一项非常繁重的任务。