K8S镜像删除及环境清理
环境清理:
#删除所有容器
sudo docker rm -f $(sudo docker ps -qa)
#删除/var/etcd目录
sudo rm -rf /var/etcd
#删除/var/lib/kubelet/目录,删除前先卸载
for m in $(sudo tac /proc/mounts | sudo awk '{print $2}'|sudo grep /var/lib/kubelet);do
sudo umount $m||true
done
sudo rm -rf /var/lib/kubelet/
#删除/var/lib/rancher/目录,删除前先卸载
for m in $(sudo tac /proc/mounts | sudo awk '{print $2}'|sudo grep /var/lib/rancher);do
sudo umount $m||true
done
sudo rm -rf /var/lib/rancher/
#删除/run/kubernetes/ 目录
sudo rm -rf /run/kubernetes/
#删除所有的数据卷
sudo docker volume rm $(sudo docker volume ls -q)
#再次显示所有的容器和数据卷,确保没有残留
sudo docker ps -a
sudo docker volume ls
镜像删除:
1. 首先查看镜像
- [root@docker-vp1 nexus-3.1.0-04]# docker images
- REPOSITORY TAG IMAGE ID CREATED SIZE
- jenkins 2.19.4 ff6f0851ef57 2 weeks ago 714.1 MB
- jenkins/jenkins 2.19.4 ff6f0851ef57 2 weeks ago 714.1 MB
- 192.168.1.110/centos/centos 7.2 38ea04e19303 12 months ago 194.6 MB
- 192.168.1.111/centos/centos 7.2 38ea04e19303 12 months ago 194.6 MB
2. 删除其中一个镜像,这里的镜像有两个repo引用,并且没有容器使用
- [root@docker-vp1 nexus-3.1.0-04]# docker rmi 38ea04e19303
- Error response from daemon: conflict: unable to delete 38ea04e19303 (must be forced) - image is referenced in one or more repositories
出现上面问题的原因:
对于被删除的ImageID,这里存在多个REPOSITORY名字引用,解决方法如下:
- [root@docker-vp1 nexus-3.1.0-04]# docker rmi 192.168.1.111/centos/centos:7.2
- Untagged: 192.168.1.111/centos/centos:7.2
- Untagged: 192.168.1.111/centos/centos@sha256:05c5e4ffbd3e4e54a685915394858e1dacc38873f02920b57b66551a1626dbd3
即删除时指定名称,而不是IMAGE ID。
然后再删除IMAGE ID就可以了:
- [root@docker-vp1 nexus-3.1.0-04]# docker rmi 38ea04e19303
- Untagged: 192.168.1.110/centos/centos:7.2
- Untagged: 192.168.1.110/centos/centos@sha256:05c5e4ffbd3e4e54a685915394858e1dacc38873f02920b57b66551a1626dbd3
- Deleted: sha256:38ea04e1930337de1455fed8651fcc9a029805f4559af44558ba9702340ce1e2
- Deleted: sha256:aa62a869f8107ec47faa7ad18eded96b051c249cd2f4a5d0d1bca8baf2757358
- Deleted: sha256:3c74eb540809de9dbddebd4681781bb1b6145c981756472cd67c6e3eb7704801
- Deleted: sha256:feba031447e29ed7d0f316065820e466ba91a258f3b2e68f8e21e940bc45b5cd
- Deleted: sha256:3d3648a4ed44853a2231971a1bccf855b83809767558e164bfebbea079d40c34
- Deleted: sha256:322e89546b1db8134d2a5b057779843aa80877705ce70e1182f20f94bf31a43d
- Deleted: sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef
3. 继续查看剩余的镜像
- [root@docker-vp1 nexus-3.1.0-04]# docker images
- REPOSITORY TAG IMAGE ID CREATED SIZE
- jenkins/jenkins 2.19.4 ff6f0851ef57 2 weeks ago 714.1 MB
- jenkins 2.19.4 ff6f0851ef57 2 weeks ago 714.1 MB
K8S镜像删除及环境清理的更多相关文章
- Harbor删除镜像后且GC清理后,磁盘空间没有释放的问题
1.原因 Harbor删除镜像后且GC清理后,磁盘空间没有释放.因为我们push大量相同标签的镜像,Docker 镜像由标签引用,并由唯一的摘要标识.这意味着如果myImage使用标记推送两个图像,在 ...
- 在docker镜像中加入环境变量
原文链接 前言 reference:https://vsupalov.com/docker-build-time-env-values/ 很多时候,我们需要在docker镜像中加入环境变量,本人了解的 ...
- 第三篇——第二部分——第四文 配置SQL Server镜像——非域环境
原文:第三篇--第二部分--第四文 配置SQL Server镜像--非域环境 本文为非域环境搭建镜像演示,对于域环境搭建,可参照上文:http://blog.csdn.net/dba_huangzj/ ...
- CentOS 删除桌面环境
帮客户买了一个vps, 结果里面装了一堆没用的软件,所以全部删掉 CentOS 桌面安装大多都是 以软件包的 形式安装 所以 最好是设置好 国内的yum 源, 然后执行: >yum groupl ...
- p2p-如何拯救k8s镜像分发的阿喀琉斯之踵?
K8s的出现为PaaS行业的发展打了一针兴奋剂,Docker+k8s的技术路线已经成为了容器云的主流.尤其针对大流量,大弹性的应用场景来说,k8s将其从繁杂的运维.部署工作中彻底拯救出来.然而事情往往 ...
- p2p-如何拯救k8s镜像分发的阿喀琉斯之踵
K8s的出现为PaaS行业的发展打了一针兴奋剂,Docker+k8s的技术路线已经成为了容器云的主流.尤其针对大流量,大弹性的应用场景来说,k8s将其从繁杂的运维.部署工作中彻底拯救出来.然而事情往往 ...
- docker 镜像删除
(我们以删除 php-fpm 这个镜像为例子) 一.查看镜像的 ID [root@localhost ~]# docker images REPOSITORY TAG IMAGE ID CREATED ...
- python的unittest框架中如何删除测试数据,清理环境,可以通过addCleanup函数
def addCleanup(self, function, *args, **kwargs): """Add a function, with arguments, t ...
- k8s环境清理
每一种方法 #!/bin/shdocker rm -f $(docker ps -qa)docker volume rm $(docker volume ls -q)cleanupdirs=" ...
随机推荐
- UVA644 Immediate Decodability
UVA644 Immediate Decodability Trie Trie模板题 难度几乎相等的题P2580 于是他错误的点名开始了 对于每组数据都清空树太浪费时间,所以我们只要在需要新点时预先把 ...
- 主攻ASP.NET MVC4.0之重生:Asp.Net MVC WebApi OData
1.新建MVC项目,安装OData Install-Package Microsoft.AspNet.WebApi.OData -Version 4.0.0 2.新建WebAPI Controller ...
- 20145106 java 实验四
这次的实验是Android开发实验基础.Android开发是一个很大的工程,但是这次只是一个小小的入门. 首先将SDK文件复制到-根目录下,之后将Android Studio复制到电脑里. 并指明SD ...
- 使用Oracle执行计划分析SQL性能
执行计划:一条查询语句在ORACLE中的执行过程或访问路径的描述.即就是对一个查询任务,做出一份怎样去完成任务的详细方案. 如果要分析某条SQL的性能问题,通常我们要先看SQL的执行计划,看看SQL的 ...
- 权限管理,pymysql模块
权限管理 权限管理重点 MySQL 默认有个root用户,但是这个用户权限太大,一般只在管理数据库时候才用.如果在项目中要连接 MySQL 数据库,则建议新建一个权限较小的用户来连接. 在 MySQL ...
- SQL 收集
1.union CREATE TABLE dbo.#testTab ( Id int NOT NULL ) insert into #testTab values(); insert into #te ...
- C# String.Join 与 StringBuilder 对比,谁更快
String.Join 文档 StringBuilder 文档 这两天刷 Leedcode 做到一道 String 的题时突然想到这俩对比的问题,于是查了一下资料并简单对比了一下. 首先对于 ...
- UVa 10201 Adventures in Moving - Part IV
https://vjudge.net/problem/UVA-10201 题意: 给出到达终点的距离和每个加油站的距离和油费,初始油箱里有100升油,计算到达终点时油箱内剩100升油所需的最少花费. ...
- self用法
- json字符串在javascript和java代码中的表示方式
最近在使用js写json形式的字符串的时候,当我把json形式的字符串放到函数JSON.parse()的时候,总是报错Uncaught SyntaxError: Unexpected token ' ...