docker实现重新打tag并删除原tag的镜像

docker镜像id是唯一的,可以物理性的标明一个镜像,repository:tag可以有多个,但是也不会重复,也是唯一的。

要重新打tag的话,语法是:

docker tag imageId repository:newTag

比如将这个centos:7重新打tag为centos7:base

此时仓库中有两个镜像,镜像id相同,只是多了一个tag标签,也就是多了一个引用。删除不需要的引用即可,删除时必须用tag删除,用镜像id删除会物理性的删除镜像,这两个引用会同时被删除掉。

当然,打tag的时候也可以使用这样的语法:

docker tag repository:tag repository:newTag

补充知识:docker遇到问题一:同一镜像有多个Tag情况下,执行 docker rmi 镜像ID 指令无法删除

镜像列表

Cappuccinooos-MacBook-Pro:.docker Cappuccinooo$ docker images
REPOSITORY     TAG         IMAGE ID      CREATED       SIZE
runoob/centos    6.7         4994f1f799c7    2 days ago     191MB
runoob/centos    dev         4994f1f799c7    2 days ago     191MB
tomcat       latest       da0729cd9201    2 days ago     463MB

删除镜像

Cappuccinooos-MacBook-Pro:.docker Cappuccinooo$ docker rmi 4994f1f799c7

Error response from daemon: conflict: unable to delete 4994f1f799c7 (must be forced) - image is referenced in multiple repositories

删除方法一

docker rmi -f 镜像ID

如下所示:

Cappuccinooos-MacBook-Pro:.docker Cappuccinooo$ docker rmi -f 4994f1f799c7
Untagged: runoob/centos:6.7
Deleted: sha256:4994f1f799c7c9241c23055ecc7335c074caaa96243dcc665d1c1836216c34f2
Deleted: sha256:6829bdaf30b11efab68c0ae473690ae1637830a560487ce07ad08988484c0987
Deleted: sha256:fd54ea270ce8e890023eaba2a72eff187d27f71f3ffea9e11e9684de8ac9606a
Deleted: sha256:ece17abd46a222b2fa35f1e18a981092605453c258dceca6919e3572ab4f1fbf
Deleted: sha256:b59b8f6f9d682eeb94a3628fded0325e9d43664fdd26651971a6fc4bd34bc3ca
Deleted: sha256:71c39bd52e1858772c19aac2b18203dca9a02f6a07a4cef54099ecd14734da83
Deleted: sha256:6ff1dc40fd96eebca0785a047794a83f3c954e4949c350fbd0661ed0f7ed8c96
Deleted: sha256:19efa1023a08e6d4014cea1821fe9f3b169eed3c11397460fb19db1d22b69fb2
Cappuccinooos-MacBook-Pro:.docker Cappuccinooo$ docker images
REPOSITORY     TAG         IMAGE ID      CREATED       SIZE
tomcat       latest       da0729cd9201    2 days ago     463MB

docker rmi : 删除本地一个或多少镜像。

语法

docker rmi [OPTIONS] IMAGE [IMAGE…]

OPTIONS说明:

-f : 强制删除;

–no-prune : 不移除该镜像的过程镜像,默认移除;

删除方法二

docker rmi repository:tag

如下所示:

Cappuccinooos-MacBook-Pro:.docker Cappuccinooo$ docker rmi runoob/centos:dev
Untagged: runoob/centos:dev
Cappuccinooos-MacBook-Pro:.docker Cappuccinooo$ docker images
REPOSITORY     TAG         IMAGE ID      CREATED       SIZE
runoob/centos    6.7         4994f1f799c7    2 days ago     191MB
tomcat       latest       da0729cd9201    2 days ago     463MB

Cappuccinooos-MacBook-Pro:.docker Cappuccinooo$ docker rmi runoob/centos:6.7
Untagged: runoob/centos:6.7
Cappuccinooos-MacBook-Pro:.docker Cappuccinooo$ docker images
REPOSITORY     TAG         IMAGE ID      CREATED       SIZE
tomcat       latest       da0729cd9201    2 days ago     463MB

以上这篇docker实现重新打tag并删除原tag的镜像就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • docker tag和docker push的使用详解

    docker tag 详解 docker tag 命令的使用,以及如何将本地的镜像推送到daocloud.io,这里不用docker hub作实验,是因为,docker hub网速不给力,容易推送失败. 使用docker tag使用镜像ID重命名 chenyangdeMacBook-Pro:~ chenyang$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE hello-world latest fce289e99eb9 9 weeks a

  • Docker重命名镜像名称和TAG操作

    使用docker images时,可能会出现REPOSITORY和TAG均为none的镜像,如下图 这时,我们可以重命名镜像 # docker tag IMAGEID(镜像id) REPOSITORY:TAG(仓库:标签) 补充知识:docker image 重命名 docker image 名称不小心写错了,例如想命名为 ubuntu1604-arm-qt,写成了 unbuntu1604-arm-qt.如何改回来? 用 docker tag 重命名 docker images 找到image_

  • Docker中如何删除image(镜像)的方法

    docker中删除images的命令是docker rmi,但有时候执行此命令并不能删除images [yaxin@ubox ~] $docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE eg_sshd latest ed9c93747fe1 45 hours ago 329.8 MB CentOS65 latest e55a74a32125 2 days ago 360.6 MB [yaxin@ubox ~]$docker rmi

  • docker 打包本地镜像,并到其他机器进行恢复操作

    1.使用docker images查看本机所有的镜像文件 2.docker save eb40dcf64078> /root/mydjango-save-1016.tar 将镜像保存为本地文件,其中eb40dcf64078为image id 3.将保存到本地的文件上传到不能pull的服务器上,网络是相通的我这里直接使用的是scp命令 4.使用load方法加载刚才上传的tar文件 docker load < /root/mydjango-save-1016.tar 5.在新的机器上再此使用doc

  • docker实现重新打tag并删除原tag的镜像

    docker镜像id是唯一的,可以物理性的标明一个镜像,repository:tag可以有多个,但是也不会重复,也是唯一的. 要重新打tag的话,语法是: docker tag imageId repository:newTag 比如将这个centos:7重新打tag为centos7:base 此时仓库中有两个镜像,镜像id相同,只是多了一个tag标签,也就是多了一个引用.删除不需要的引用即可,删除时必须用tag删除,用镜像id删除会物理性的删除镜像,这两个引用会同时被删除掉. 当然,打tag的

  • 重装MS SQL Server 2000前必须彻底删除原安装文件的方法

    重装MS SQL Server 2000一般需要彻底删除原安装文件,以前总是无法重新安装,默认被占了,现在网上看到了特用如下方法对付安装挂起问题:  1.在开始->运行中输入regedit  2.到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager 位置  3.选择文件->导出,保存(安全起见)  4.在右边窗口右击PendingFileRenameOperations,选择删除,然后确认

  • wma tag 批量修改[原代码-从wmfsdk中修改]

    wma tag 批量修改[原代码-从wmfsdk中修改] 代码是自己做音乐站点时写的,没有仔细检查,用他修改了近7万的 wma,mp3暂时还没有发现出错.需要的朋友可以自己修改一下. 效率:5万音乐 70G音乐数据需要差不多3个多小时,程序没有优化. 编译环境: vc6.0 + WMFSDK9(http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wmform95/htm/aboutthewindowsmediaform

  • 完美解决phpstudy安装后mysql无法启动(无需删除原数据库,无需更改任何配置,无需更改端口)直接共存

    今天学习php,当然是要先安装好运行环境了,phpstyudy是一个运行php的集成环境, 一键安装对新手很友好,与时作为一个新手,便跟着教程安装了phpstudy集成环境. 很快安装好了,嗯.对新手确实很友好.phpmyadmin,Apache,php直接配置安装好了.省去了很多时间. 可是安装后却遇到一个麻烦事,就是这个Mysql启动后就会过几秒就显示Mysql已经停止(这个是我现在的我已经解决这个问题了,应该是个红色的方框,不要介意,/嘿嘿).重启了很多遍.还是无法启动. 这个时候不仅ph

  • docker多容器操作与强制删除容器的方法步骤

    目录 简介: 1.创建多个容器 2.停止多个容器 3.删除多个容器 4.强制删除容器 总结 简介: 这是一篇有关[doker的多容器操作和强制删除容器的方法]的文章,用最精简的语言去表达给前端读者们. 1.创建多个容器 在WIndows环境下我们来作这个,先打开三个PowerShell窗口,然后在每个窗口中输入创建容器的命令,这里以Nginx镜像为例 docker container run nginx 然后再重新打开一个PowerShell窗口,输入查看命令,查看已经开启的容器. docker

  • 利用docker搭建php7和nginx运行环境全过程(官方镜像)

    本文分享的是利用docker搭建php7和nginx运行环境的全过程,分享出来供大家参考学习,下面来看看详细的介绍: 环境介绍 根目录: /docker 网站根目录:/docker/www nginx相关目录:/docker/nginx/conf.d 准备工作 1.使用docker加速器 curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://68abbefd.m.daocloud.io service do

  • 详解docker强制批量删除none的image镜像

    说正题,今天遇到的问题是自己在开发机做坏了几个image镜像,删不了   我想大家也遇到过这样类似的问题  -. 他的名字和tag都是为none,空- 以前看过一个帖子说,给他标记一个tag,就可以干掉,瞎扯- [ruifengyun@bj-buzz-dev01 extractor_docker]$ [ruifengyun@bj-buzz-dev01 extractor_docker]$ docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL

  • Docker使用Dockerfile创建支持ssh服务自启动的容器镜像

    本文实例为大家分享了Dockerfile创建支持ssh服务自启动的容器镜像,供大家参考,具体内容如下 1. 首先创建一个Dockerfile文件,文件内容如下 # 选择一个已有的os镜像作为基础 FROM centos:centos6 # 镜像的作者 MAINTAINER Fanbin Kong "kongxx@hotmail.com" # 安装openssh-server和sudo软件包,并且将sshd的UsePAM参数设置成no RUN yum install -y openssh

  • 在docker下删除两个id相同的镜像的操作

    今天建立docker容器的时候由于疏忽,镜像的名字输错了,结果容器创建成功后,镜像中出现两个id相同的: 使用docker rmi e4a35914679d删除的时候执行失败: Error response from daemon: conflict: unable to delete e4a35914679d (must be forced) - image is referenced in one or more repositories 提示应该是该id有两个本地文件,不能用id删除. 所

  • Docker容器搭建本地私有仓库详情

    目录 前言 一.首先下载registry镜像 二.在daemon.json文件中添加私有镜像仓库的地址并重启 三.创建registry容器并开放端口 四.给镜像打标签后上传到私有仓库 五.获取私有仓库列表查看是否上传成功 六.验证:从私有仓库下载镜像 前言 Docker 官方提供了一个搭建私有仓库的镜像 registry ,运行该镜像的容器并且对外暴露5000端口就ok了.通常我们在docker拉取的镜像都是在docker hub或quay.io等公有仓库获取,那么在实际工作中,每个公司如果使用

随机推荐