当前位置: 首页 > 知识库问答 >
问题:

如何在标记后提取docker图像

席嘉祯
2023-03-14

如果你标记了一个新名字并删除了原来的名字,docker是否可以从一个私有存储库中拉取?

例如,

docker pull harbor.mycompany.com/something/batman:1.0            # pull from remote repo
docker tag harbor.mycompany.com/something/batman:1.0 batman:1.0  # rename to pretty name
docker rmi harbor.mycompany.com/something/batman:1.0             # delete ugly name
docker pull batman:1.0                                           # does not work

这篇相关的帖子展示了如何更改docker映像名称,但没有说明从Harbor或私人回购中提取的内容:docker如何更改存储库名称或重命名映像?

共有1个答案

濮阳烨然
2023-03-14

docker拉总是需要一个注册表限定的名称。如果您不提供,它默认为docker.io/library/...作为前缀。用另一个名称标记本地图像不会保留原始图像可能来自哪里的任何内存。

我建议始终使用注册表限定名及其原始标记。如果不能将其封装在Docker Compose设置中,至少可以使用shell变量来简化

REGISTRY=harbor.example.com
IMAGE=something/batman
TAG=1.0
FULL_IMAGE="$REGISTRY/$IMAGE:$TAG"

docker build -t "$FULL_IMAGE" .
docker run -d --name container_name -p 8000:8000 "$FULL_IMAGE"
./integration_tests http://localhost:8000
docker stop container_name
docker rm container_name
docker push "$FULL_IMAGE"
docker rmi "$FULL_IMAGE"

docker pull "$FULL_IMAGE"
 类似资料:
  • 我想通过docker compose构建图像,并为其设置特定标记。文件说: Comment将构建并用生成的名称标记它,然后使用该映像。 但是我找不到指定标签的方法,对于构建的图像,我总是看到“最新”标签。

  • 和以下内容: 获取以下错误:

  • 问题内容: 我想通过docker-compose建立映像并为其设置特定标签。文档说: Compose将使用生成的名称来构建并标记它,然后使用该图像。 但是我找不到指定标签的方法,对于生成的图像,我总是看到“最新”标签。 问题答案: 似乎文档/工具已更新,您现在可以将标记添加到脚本中。这对我来说是成功的。 例: https://docs.docker.com/compose/compose- fil

  • 问题内容: 这是XML的一部分: 提取标签很容易。做就是了: 但是,如何立即获得文本( 猫的照片 )呢?执行以下操作将返回一个空白字符串: 问题答案: 元素具有属性-因此,您要求的不是。 或者,例如: 这也适用于普通的ElementTree:

  • 然后尝试了这个解决方案,我尝试了,但没有返回任何内容,还尝试了,显示0 GB。 我还计划在docker内安装其他程序到操作系统,因此希望从现有的子映像中产生新的子映像。我到处搜索,没有一个很好的解决方案删除一个父图像在docker和原因,我阅读是因为一些父层被使用的子图像。在docker中生成一个新的子映像后,是否没有办法删除父映像?

  • 让我们以whalesay图片为例<代码>docker history显示以下内容: 我想提取显示为的层。有这样做的工具/方法吗?