我还不太了解 dockerhub。我得到了以下案例:
docker tag myimageA myuser/myrepo:1
码头工人标签 myimageB myuser/myrepo:1
码头工人标签 myimageC myuser/myrepo:1
之后我推他们 docker push myuser/myrepo
现在,当删除我所有的本地图像并再次拉出我自己的 docker repo 时,当我执行时将只有一个条目docker images:
myuser/myrepo
Run Code Online (Sandbox Code Playgroud)
我希望能够将单个图像推送到 docker hub。除此之外,我只能查看我推送的标签(最新、1 或其他)。
问题:会docker push推送所有标记为 repo 命名空间的图像吗?或者有没有办法将单个图像推送到存储库并一个一个地拉取它们?
我记得我在 docker 中的第一步,也清楚地记得这场小小的斗争。
创建图像时:
docker build -t <docker_hub_user_name>/<image_name>:<tag_name> /path/to/dockerfile
Run Code Online (Sandbox Code Playgroud)
该图像已使用您分配的标签注册。否则,您可以在不使用-t选项的情况下构建图像,这将生成一个带有随机 ID 的图像,稍后可以对其进行重新标记。
如果您标记图像:
docker tag myimageA myuser/myrepo:1
码头工人标签 myimageB myuser/myrepo:1
码头工人标签 myimageC myuser/myrepo:1
Docker 标签的工作原理如下:
"docker tag" requires exactly 2 arguments.
See 'docker tag --help'.
Usage: docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]
Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE
Run Code Online (Sandbox Code Playgroud)
因此,您主要使用不同的图像来标记相同的图像。或者您将三个不同的图像命名为一个图像有什么相同之处。您正在将三个不同的图像覆盖到 myuser/myrepo:1 中。
Docker hub 使用 < myuser >/myrepo:1 将镜像的根目录存储到您的帐户中,但在其他情况下,此段用于标识您的存储库主机。myuser/< myrepo >:1 它是你的图像的名称,所以如果你正在使用你的应用程序 A、B 或 C,图像的名称应该是不同的,而 myuser/myrepo:< 1 > 最后一个元素应该是用于版本控制相同的图像。它通常用于对其进行版本化,并且有一些默认使用的标签,例如:last。如果你使用这个词,docker 将使用这个 docker 镜像的最新镜像。
所以回答你的问题:
问题:docker push 会推送所有为 repo 命名空间标记的图像吗?或者有没有办法将单个图像推送到存储库并一个一个地拉取它们?
您必须将每个图像独立推送到您的 docker hub 帐户或您的 docker 注册服务器。虽然您可以使用管道命令用一句话推送所有 docker 图像。无法使用单个 docker 命令一次推送所有本地内容。
| 归档时间: |
|
| 查看次数: |
2236 次 |
| 最近记录: |