如何在 Docker 中删除图像标签而不删除图像本身?

如何在 Docker 中删除图像标签而不删除图像本身?

假设我想给 Docker 镜像添加标签,但输入错误。如何删除标签而不删除镜像本身?手册页和 Docker 文档都没有提到删除标签。

docker tag 0e5574283393 my-imaj
docker tag 0e5574283393 my-image
# docker untag my-imaj # There is no "docker untag"!

答案1

如果您的图片带有多个标签docker rmi则会删除标签,但不会删除图像。

因此在你的例子中...

# docker rmi my-imaj

... 将删除该标签并保留带有其他正确标签的图像。

答案2

运行docker rmi REPOSITORY:TAG以删除标签。

REPOSITORYTAG来自docker images输出。

例如

$ docker rmi my-image:0e5574283393
Untagged: my-image:0e5574283393

答案3

从空的 docker repo 开始,通过键入以下内容导入图像:

#docker run hello-world

运行docker images命令列出图像。结果应如下所示:

REPOSITORY        TAG           IMAGE ID          CREATED           SIZE
hello-world       latest        7bc42cc48a84      4 weeks ago       316MB

现在让我们创建一个名为v1通过运行以下docker tag命令:

#docker tag hello-world:latest hello-world:v1

如果我们运行该docker images命令,我们将看到如下新标签:

REPOSITORY        TAG           IMAGE ID          CREATED           SIZE
hello-world       latest        7bc42cc48a84      4 weeks ago       316MB
hello-world         v1          7bc42cc48a84      4 weeks ago       316MB

要删除特定标签(回答原始问题),请运行 docker hello-world:v1rmiv1是标签名称。输出将如下所示:

#docker rmi hello-world:v1
Untagged: hello-world:v1

运行docker images命令列出图像。请注意,图像标签已被删除:

REPOSITORY        TAG           IMAGE ID          CREATED           SIZE
hello-world       latest        7bc42cc48a84      4 weeks ago       316MB

答案4

用您的标签名称标记其他图像,然后您当前图像的标签将被删除。

相关内容