📜  如何标记映像并将该映像推送到Dockerhub?

📅  最后修改于: 2021-04-16 08:48:07             🧑  作者: Mango

通过将映像推送到Docker Hub注册表,我们可以创建映像的实例,在该实例中预安装了特定类型的软件和应用程序,并且只要您要处理该特定类型的映像或应用程序,就可以再次将其拉出。运行那种虚拟机。在docker hub中,有数百万个映像,您还可以提取由特定组织创建的默认映像,例如,您可以提取由Linux上传的Ubuntu映像,然后将任何软件或应用程序(例如curl命令)安装到该映像中, Jenkins等,然后将该映像推送到您的docker hub注册表。

要求:

  • Docker Hub帐户。
  • 在您各自的操作系统中安装了docker软件。
  • 您要在Docker容器中拉入的镜像,您希望将其拉入Docker Hub存储库中。

请按照以下步骤实现:

步骤1:第一步是为您的docker映像提供一个标记,该标记是对您的docker映像ID的引用,该ID传达有关映像版本的信息。如果登录到Docker Hub帐户并搜索MySQL,HTTP等的标准映像,则会注意到这些标签。

docker image tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]

如果您不提及标签,则默认标签为最新标签。例如,

docker image tag ubuntu:14.04 XYZ/ubuntu:2.0

标记图像的命令

Ubuntu是我们的Docker容器中的源映像.14.04是该源映像的标签。目标映像名称中的XYZ必须与您的Docker Hub帐户用户名相似,且标签为2.0。

第2步:现在,如果您尝试推送图片,则会出现错误:

denied: requested access to the resource is denied

原因是,首先要在Docker Hub帐户中推送映像,所以您必须登录。因此第二步是登录Docker Hub帐户。要登录,命令是

docker login
Docker登录

Docker登录

现在,写下您在创建Docker Hub帐户时提供的用户名和密码。

注意:如果您是在推送映像后使用Mac的用户,请不要忘记注销,因为身份验证密钥已写入文件中,以便将来作为该Docker Hub帐户的用户记住您,如果它是您的个人设备,则无需执行此操作。

docker logout

码头工人登出

步骤3:现在您登录后就可以推送图像了,命令是:

docker image push [OPTIONS] NAME[:TAG]

例如,

docker image push XYZ/ubuntu:2.0
推送命令

推送命令

运行此命令后,您的映像将被拉至docker hub存储库。

docker枢纽仓库

注意:如果您的映像位于root帐户中,并且XYZ是您的docker hub帐户的用户名,在每个命令前写sudo