desktop docker 无法卸载_关于Docker:Docker – 无法移除死容器

我无法删除死容器,它在重新启动Docker服务后再次出现。

docker ps -a

CONTAINER ID         STATUS

11667ef16239         Dead

然后

docker rm -f 11667ef16239

然后,当我运行docker ps -a时,没有Docker容器显示。

docker ps -a

CONTAINER ID         STATUS

但是,当我重新启动docker服务时:

service docker restart

并再次运行docker ps -a:

docker ps -a

CONTAINER ID         STATUS

11667ef16239         Dead

嗨,这仍然是当前的问题,但目前接受的答案不再有效,而且相当危险。 这是一个很好的答案,所以如果可能的话你会接受那个答案,这是公平的

实际上这些日子发生了轻微变化,以便摆脱那些可能会尝试卸载那些被阻止的文件系统以释放它们的死容器

所以,如果你收到这样的消息

Error response from daemon: Cannot destroy container elated_wozniak: Driver devicemapper failed to remove root filesystem 656cfd09aee399c8ae8c8d3e735fe48d70be6672773616e15579c8de18e2a3b3: Device is Busy

跑吧

umount /var/lib/docker/devicemapper/mnt/656cfd09aee399c8ae8c8d3e735fe48d70be6672773616e15579c8de18e2a3b3

你可以在那之后正常删除容器

这个感觉就像最好,最安全的!

我只是重新启动了系统并且我已经重新登录..容器已经消失了。

这对我有用,虽然我不得不重新启动docker服务以使docker ps -a的输出实际为空。

两年后,这篇文章仍然具有现实意义。花了两个小时试图找到一个解决方案然后遇到了这个:github.com/moby/moby/issues/3786#issuecomment-33471966。要卸载所有devicemapper容器,请使用umount $(grep devicemapper procmounts | awk {print$2} | sort -r)

最有可能的是,当守护进程试图清理容器时发生错误,他现在陷入了这种"僵尸"状态。

我担心你唯一的选择是手动清理它:

$ sudo rm -rf /var/lib/docker//11667ef16239.../

其中是驱动程序的名称(aufs,overlay,btrfs或devicemapper)。

通过发出一个docker命令而不是诉诸于sudo rm ...对于像我这样在我们的产品盒上没有sudo权限的人来说,这个功能可以实现这个功能。

您也可以使用此命令删除dead容器

docker rm $(docker ps --all -q -f status=dead)

但是,我真的不确定为什么以及如何创建dead容器。每当我得到dead容器时,这个错误似乎与https://github.com/typesafehub/mesos-spark-integration-tests/issues/34有关

[更新]

通过Docker 1.13更新,我们可以轻松删除不需要的容器,悬空图像

$ docker system df #will show used space, similar to the unix tool df

$ docker system prune # will remove all unused data.

您可能需要添加--force param才能正常工作

@Akvel它没有它们。它已经死了,所以没有依赖的过程。

docker system prune的表现超出预期,但解决了这个问题。如OP中所述,docker rm --force不起作用。

正如@rdupz所暗示的,docker system prune是危险的,请参阅此评论,了解如何使用-a删除甚至命名的卷。它还会删除网络,这通常不是您想要的。最好在1.13+中使用docker image prune和docker volume prune。

此命令提供语法错误。我认为你错放了力量-f param

删除死容器(CentOS 7上的docker 17.06.1-ce)时出现以下错误:

Error response from daemon: driver"overlay" failed to remove root filesystem for :

remove /var/lib/docker/overlay//merged: device or resource busy

以下是我修复它的方法:

1.检查哪些其他进程也在使用docker资源

$ grep docker /proc/*/mountinfo

输出类似这样的东西,其中/proc/之后的数字是pid:

/proc/10001/mountinfo:179...

/proc/10002/mountinfo:149...

/proc/12345/mountinfo:159 149 0:36 / /var/lib/docker/overlay/...

2.检查上述pid的进程名称

$ ps -p 10001 -o comm=

dockerd

$ ps -p 10002 -o comm=

docker-containe

$ ps -p 12345 -o comm=

nginx   <<

所以,带有pid 12345的nginx似乎也在使用/var/lib/docker/overlay/...,这就是我们无法删除相关容器并获得device or resource busy错误的原因。 (有关nginx如何与docker容器共享相同的mount命名空间,请参见此处,以防止删除它。)

3.停止nginx然后我可以成功删除容器。

$ sudo service nginx stop

$ docker rm

谢谢你先生的nginx信息,我有同样的问题,它生气了我很多次,我也遇到了与DNS进程相同的问题(命名),不得不:systemctl restart命名

我得到了同样的问题,两个答案都没有帮助。

对我有帮助的只是创建缺少的目录并删除它们:

mkdir /var/lib/docker/devicemapper/mnt/656cfd09aee399c8ae8c8d3e735fe48d70be6672773616e15579c8de18e2a3b3

mkdir /var/lib/docker/devicemapper/mnt/656cfd09aee399c8ae8c8d3e735fe48d70be6672773616e15579c8de18e2a3b3-init

docker rm 656cfd09aee399c8ae8c8d3e735fe48d70be6672773616e15579c8de18e2a3b3

强行拆除容器为我工作。

docker rm -f

笔记:

请注意,此命令可能会抛出此错误

Error response from daemon: Driver devicemapper failed to remove root filesystem : Device is Busy

尽管有此消息,仍应删除您的死容器设备映射器的安装。也就是说,您将不再访问此路径:

/var/lib/docker/devicemapper/mnt/

grep 656cfd09aee399c8ae8c8d3e735fe48d70be6672773616e15579c8de18e2a3b3 /proc/*/mountinfo

然后找到656cfd09aee399c8ae8c8d3e735fe48d70be6672773616e15579c8de18e2a3b3and的pid并杀死它

其中proc之后的数字是pid

我已经尝试了上面的建议,但没有奏效。

然后

我试试:docker system prune -a,它第一次没用

我重新启动系统

我再试一次docker system prune -a。这次它有效。它会发出一条警告信息,最后问"你确定要继续吗?是吗?答案。答案:是的。时间到最后,死人的容器都消失了。

使用docker ps -a进行验证

重要 - 这是核选项,因为它会破坏所有容器+图像

这对我有用。谢谢!我还必须重新启动系统。

尝试运行以下命令。它总是适合我。

# docker volume rm $(docker volume ls -qf dangling=true)

# docker rm $(docker ps -q -f 'status=exited')

执行上述命令后,重启docker by,

# service docker restart

尝试了以上所有(重启/重启docker)。

所以这是错误的docker rm:

$ docker rm 08d51aad0e74

Error response from daemon: driver"devicemapper" failed to remove root filesystem for 08d51aad0e74060f54bba36268386fe991eff74570e7ee29b7c4d74047d809aa: remove /var/lib/docker/devicemapper/mnt/670cdbd30a3627ae4801044d32a423284b540c5057002dd010186c69b6cc7eea: device or resource busy

然后我做了以下几点:

$  grep docker /proc/*/mountinfo | grep 958722d105f8586978361409c9d70aff17c0af3a1970cb3c2fb7908fe5a310ac

/proc/20416/mountinfo:629 574 253:15 / /var/lib/docker/devicemapper/mnt/958722d105f8586978361409c9d70aff17c0af3a1970cb3c2fb7908fe5a310ac rw,relatime shared:288 - xfs /dev/mapper/docker-253:5-786536-958722d105f8586978361409c9d70aff17c0af3a1970cb3c2fb7908fe5a310ac rw,nouuid,attr2,inode64,logbsize=64k,sunit=128,swidth=128,noquota

这是违规过程的PID,让它忙碌 - 20416(/ proc /之后的项目)

所以我做了一个ps -p,我惊讶地发现:

[devops@dp01app5030 SeGrid]$ ps -p 20416

PID TTY          TIME CMD

20416 ?        00:00:19 ntpd

一个真正的WTF时刻。所以我把问题与Google解决了,发现了这个问题:

然后找到了这个https://github.com/docker/for-linux/issues/124

事实证明我必须重新启动ntp守护进程并修复了这个问题!

对于Windows:

del D:\ProgramData\docker\containers\{CONTAINER ID}

del D:\ProgramData\docker\windowsfilter\{CONTAINER ID}

然后重启Docker Desktop

这里有很多答案,但没有一个涉及对我有用的(快速)解决方案。

我正在使用Docker版本1.12.3,构建6b644ec。

我只是运行了docker rmi来从死容器来的图像。然后docker ps -a显示死容器完全丢失。

然后,当然,我只是重新拉动图像并再次运行容器。

我不知道它是如何在这种状态下发现的,但它是......

试试,它对我有用:

$ docker ps -a

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES

4f13b53be9dd        5b0bbf1173ea       "/opt/app/netjet..."   5 months ago        Dead                                    appname_chess

$ docker rm $(docker ps --all -q -f status=dead)

Error response from daemon: driver"devicemapper" failed to remove root filesystem for 4f13b53be9ddef3e9ba281546aef1c544805282971f324291a1dc91b50eeb440: failed to remove device 487b4b73c58d19ef79201cf6d5fcd6b7316e612e99c14505a6bf24399cad9795-init: devicemapper: Error running DeleteDevice dm_task_run failed

su

cd /var/lib/docker/containers

[root@localhost containers]#  ls -l

total 0

drwx------. 1 root root 312 Nov 17 08:58 4f13b53be9ddef3e9ba281546aef1c544805282971f324291a1dc91b50eeb440

[root@localhost containers]# rm -rf 4f13b53be9ddef3e9ba281546aef1c544805282971f324291a1dc91b50eeb440

systemctl restart docker

试试这个对我有用:

docker rm -f

eg. docker rm -f 11667ef16239

尝试杀死它,然后删除> :)即

docker kill $(docker ps -q)

尝试这个它在centos上为我工作

1)docker container ls -a

为您提供一个容器列表,检查您要删除的状态

2)docker container rm -f 97af2da41b2b

不是一个大粉丝力旗,但做的工作

检查它是否工作只需再次激活命令或列出它。

3)继续,直到我们清除所有死容器

在Centos7和Docker 1.8.2上运行,我无法使用Zgr3doo的解决方案来卸载devicemapper(我认为我得到的响应是没有挂载/找到卷。)

我认为sk8terboi87ツ的回答也有类似的事情:我相信消息是无法卸载卷,并列出了它试图卸载的特定卷以删除死容器。

对我有用的是先停止docker,然后手动删除目录。我能够通过上一个命令的错误输出确定它们是哪些删除所有死容器。

对上面含糊不清的描述道歉。在我处理了死箱之后的几天,我发现了这个问题。 ..但是,我今天注意到了类似的模式:

$ sudo docker stop fervent_fermi; sudo docker rm fervent_fermi fervent_fermi

Error response from daemon: Cannot destroy container fervent_fermi: Driver devicemapper failed to remove root filesystem a11bae452da3dd776354aae311da5be5ff70ac9ebf33d33b66a24c62c3ec7f35: Device is Busy

Error: failed to remove containers: [fervent_fermi]

$ sudo systemctl docker stop

$ sudo rm -rf /var/lib/docker/devicemapper/mnt/a11bae452da3dd776354aae311da5be5ff70ac9ebf33d33b66a24c62c3ec7f35

$

我注意到,当使用这种方法时,docker重新创建了具有不同名称的图像:

a11bae452da3     trend_av_docker  "bash"   2 weeks ago    Dead    compassionate_ardinghelli

这可能是由于容器发出了restart = always,但容器ID与先前使用我强制删除的卷的容器的ID相匹配。删除这个新容器没有困难:

$ sudo docker rm -v compassionate_ardinghelli

compassionate_ardinghelli

备选方案2:将其重新编写为独立的答案。这样做可以参考其他答案 - 但要具体说明你在谈论哪个答案,例如:按作者姓名。从"我还不能评论......"开始,几乎可以保证你的帖子被删除。如果您有一些有用的东西可以作为答案添加 - 只需这样做! (并且到那里再获得9个代表!)祝你好运。

用于删除所有死容器

<5233>

删除所有已退出的容器docker rm -f $(docker ps --all -q -f status=exited)

因为我有-f是必要的

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/558182.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

git 命令详解和Android Studio代码管理工具

目录前言git命令上传项目一、核心操作二、解决冲突三、情景举例四、查看ssh密钥五、克隆远程项目六、回退某个操作七、和远程分支建立关联八、删除文件九、远程仓储十、多人协作十一、分支策略十二、其他Android Studio代码管理控制前言 相比SVN CVS的管理模式&#xff0c;git…

表单和字都居中_APP 分享 | 6 款黑科技工具,低调收藏,每一款都很强大!

iSlide 简单、高效地制作PPT使用环境: Windows使用要求: Office 2010 及以上版本授权状况: 无广告 有付费功能官网地址: www.islide.ccSlide是一款基于PowerPoint的插件工具,功能十分强大,高效做PPT必备利器一键优化:将PPT中不规则的字体,段落,色彩,参考线…

Android studio gradle task list 不显示问题

问题描述 新电脑安装android studio后&#xff0c;导入工程&#xff0c;各种配置都弄好变更好&#xff0c;出现了如下情况&#xff1a; 之前习惯的gradle task 不在列表中&#xff0c;好不习惯。 正常期望如下&#xff1a; 处理方法 快捷键Ctrl Alt S或者 file -> se…

python flask高级编程之restful_python Flask实现restful api service

一直在用node.js做后端&#xff0c;要逐步涉猎大数据范围&#xff0c;注定绕不过python&#xff0c;因此决定把一些成熟的东西用python来重写&#xff0c;一是开拓思路、通过比较来深入学习python&#xff1b;二是有目标&#xff0c;有动力&#xff0c;希望能持之以恒的坚持下去…

Android Studio Gradle输出信息乱码

在更换android studio 版本之后&#xff0c;一般windows 版本在项目构建过程中&#xff0c;gradle 相关的信息输出&#xff0c;会出现乱码&#xff0c;基本上明知是字符编码的问题&#xff0c;但看着就是不爽&#xff0c;例如下面这的情形&#xff1a; ע: ijЩ&#xfffd;&am…

python tkinter布局混用_python tkinter布局界面如何实现?

当我们自己走入一个互联网窗口里&#xff0c;寻找内容&#xff0c;清晰而明朗&#xff0c;这就是涉及了一个页面布局的知识&#xff0c;不只是一个站点&#xff0c;一个网页&#xff0c;设置是一个窗体都是有清晰的布局&#xff0c;语言的编写&#xff0c;就是为了效率执行而存…

Edge 修改字符编码(详细图文)

Microsoft Edge 版本 97.0.1072.62 (官方内部版本) (64 位) 前言 如下图&#xff0c;在访问页面时出现乱码&#xff0c;而且一直返回的内容编码是UTF-8&#xff0c;但Edge没找快捷的编码方式选择 方法一 Internet Explorer 模式加载 打开Edge浏览器 点击Edge右上角三点 点…

json tcl_确定TCL中变量的类型

Tcl的变量没有类型(除了他们是否真的变量的关联数组 - 即使用$foo(bar)语法 - FO r你使用array exists)但Tcl的值。好吧&#xff0c;有点。 Tcl可以在不同类型之间进行变异&#xff0c;因为它认为合适&#xff0c;并且不公开这些信息[*];你所能做的就是检查一个值是否符合特定的…

【Android】Unresolved reference: databinding

检查配置 对应module的build.gradle是否添加了databinding配置 buildFeatures {viewBinding true } // 或者 dataBinding {enabled true }检查包名(特别注意) 报错的包名是否和app包名一致。 例如app包名是 com.xxx.app 而报错的代码中binding的包名路径不在app包名下&…

水塔清洗机器人_最全的中央空调清洗流程

一、施工方案和技术措施项目总体施工纲要积极主动与客户沟通协调。做好现场的勘查工作&#xff1a;严密、详细、周全。掌握客户的动态&#xff0c;不断完善施工进度表。分项目制定严密的施工方案、计划和管理措施。制定详尽的突发事件应急预案。建立安全责任制&…

【Android】ConstraintLayout中RecyclerView 的底部数据显示不全以及覆盖其他View

文章目录xml布局内容预览画面(看着没毛病)&#xff1a;实际画面&#xff1a;解决办法说明xml布局内容 <?xml version"1.0" encoding"utf-8"?> <android.support.constraint.ConstraintLayout xmlns:android"http://schemas.android.com/a…

python中forward的作用_基于numpy的前馈神经网络(feedforward neural network)

***这几天在上Andrew Ng教授开的Coursera系列课程Deep Learning&#xff0c;总觉得光是看视频和做作业还不够&#xff0c;还是得自己动手写写代码&#xff0c;亲自实现课程里提到的算法内容&#xff0c;于是便有了这篇博客&#xff0c;作为自己入门深度学习的里程碑吧。前馈神经…

Charles抓取HTTPS Windows Android iOS 图文详细

文章目录背景操作原理windows 安装CharlesCharles配置第一步&#xff1a;配置HTTP代理&#xff0c;这步与抓取HTTP请求是一样第二步&#xff1a;配置SSL代理第三步 &#xff1a;为手机配置代理iPhone 代理配置Android 代理配置第四步&#xff1a;安装根证书iPhone 安装charles证…

css线条伸缩_CSS3弹性伸缩布局之box布局

CSS3弹性伸缩布局简介2009年&#xff0c;W3C提出了一种崭新的方案----Flex布局(即弹性伸缩布局)&#xff0c;它可以简便、完整、响应式地实现各种页面布局&#xff0c;包括一直让人很头疼的垂直水平居中也变得很简单地就迎刃而解了。但是这个布局方式还处于W3C的草案阶段&#…

Android代码安装apk程序

文章目录一、高低版本兼容代码及配置1.java代码2.AndroidManifest.xml 配置ContentProvider3.paths xml 配置二、老版本代码三、可能出的问题及处理一、高低版本兼容代码及配置 高版本提高了sdcard、 app文件空间的访问权限&#xff0c;高低版本的系统api有一定区别&#xff0…

Android adb 安装apk程序

文章目录ADB简单介绍安装命令安装失败情况adb 安装测试包adb 安装卸载的所有命令摘要前言多数情况下&#xff0c;用户都是从应用商店或某网页下载apk后从手机上直接安装apk文件&#xff0c;在调试或下载到电脑上时候&#xff0c;我们就可以直接通过adb安装到手机。在测试小伙伴…

XML十六进制无效的字符(0x0b 0x0c 0x02)

文章目录解决方法ASCII“字符”1、ASCII 打印字符2、ASCII 非打印控制字符3、扩展 ASCII 打印字符4、ASCII 之外ASCII 字符输入方法与常用地方1、在文档中插入 ASCII 字符2、输入方法前言xml 中包含了非打印字符的情况下&#xff0c;即使是放在cdata 中&#xff0c;在不同平台上…

tab栏圆点按钮_uniapp tabbar上的小圆点

需求在tabbar的图标右侧显示和隐藏小圆点。一般表示有新消息、新更新。基本代码序号从0开始计算。uni.showTabBarRedDot({index:1});uni.hideTabBarRedDot({index:1});修改代码App.vue或index页在App.vue的onLaunch周期或者是index页的onLoad加入代码&#xff0c;判定是否需要显…

Android OpenGLES2.0(一)OpenGLES2.0基础介绍

文章目录什么是OpenGL ES&#xff1f;OpenGL ES可以做什么&#xff1f;OpenGL ES版本及Android支持情况OpenGL ES 2.0的优点OpenGL ES 2.0中基本概念顶点着色器片元着色器着色器语言坐标系图形的绘制投影光照纹理映射其它OpenGL ES 2.0过程及理解什么是OpenGL ES&#xff1f; O…

如何 方法内指令重排 进制_谈谈指令重排

这个知识点也是很多人说不清道不明的地方&#xff0c;感觉都知道&#xff0c;说又说不出来。为什么会这样呢&#xff1f;因为这几个字&#xff0c;很容易被当成动词去理解&#xff0c;其实正确的理解是当成名词&#xff0c;即指令重排现象。那什么时候会产生指令重排现象呢&…