b'driver "overlay" failed to remove root filesystem 的解决方法
1、docker-compose启的nexus仓库意外dead
公司的maven私服nexus是通过docker-compose启动的,不知道什么原因意外死掉了。再次启动的时候报错:
[root@test-java nexus]# docker-compose up -d
Removing nexus_nexus_1
ERROR: driver "overlay" failed to remove root filesystem for 738f492a57f80951b279c3bd82f59b6230275a298ab74d7f26c4564cf3d1cf2c: remove /var/lib/docker/overlay/6031651302dba6053c5fde07937f4fd00dfc063577fa343b12c83f1c26b77887/merged: device or resource busy
2、原因分析
看报错应该是之前的容器无法删除导致的,device or resource busy
应该是还有某些进程在占用。
3、处理问题
先通过docker rm
命令尝试删除该容器:
[root@test-java nexus]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
141d9363cf95 jenkins "/bin/tini -- /usr..." 12 days ago Exited (137) 10 days ago jenkins
85e5f06d1344 jenkins "/bin/tini -- /usr..." 12 days ago Exited (130) 12 days ago reverent_ritchie
738f492a57f8 sonatype/nexus3 "bin/nexus run" 2 weeks ago Dead nexus_nexus_1
eef939679dd1 nginx:1.13.3 "/usr/local/nginx/..." 2 months ago Created 443/tcp, 0.0.0.0:8087->80/tcp nginx2
5087229bf9aa nginx:1.13.3 "/usr/local/nginx/..." 2 months ago Exited (0) 2 weeks ago nginx
c67cf4bdefd9 sonatype/nexus3 "bin/nexus run" 9 months ago Dead c67cf4bdefd9_nexus_nexus_1
[root@test-java nexus]# docker rm 738f492a57f8
Error response from daemon: driver "overlay" failed to remove root filesystem for 738f492a57f80951b279c3bd82f59b6230275a298ab74d7f26c4564cf3d1cf2c: remove /var/lib/docker/overlay/6031651302dba6053c5fde07937f4fd00dfc063577fa343b12c83f1c26b77887/merged: device or resource busy
无法正常删除,尝试强制删除:
[root@test-java nexus]# docker rm -f 738f492a57f8
Error response from daemon: driver "overlay" failed to remove root filesystem for 738f492a57f80951b279c3bd82f59b6230275a298ab74d7f26c4564cf3d1cf2c: remove /var/lib/docker/overlay/6031651302dba6053c5fde07937f4fd00dfc063577fa343b12c83f1c26b77887/merged: device or resource busy
通过docker rm
无法删除,提示文件系统相关的问题,应该是和docker容器的文件系统有关,docker是通过挂载的形式使用宿主机文件系统的。查看一下跟报错有关的挂载信息:
[root@test-java nexus]# grep docker /proc/*/mountinfo|grep 6031651302dba6053c5fde07937f4fd00dfc063577fa343b12c83f1c26b77887
/proc/814/mountinfo:80 79 0:38 / /var/lib/docker/overlay/6031651302dba6053c5fde07937f4fd00dfc063577fa343b12c83f1c26b77887/merged rw,relatime - overlay overlay rw,lowerdir=/var/lib/docker/overlay/e580d619ecdb1aeb01f73ad07d727812a3f9776af5af0679eecfd60198884aaf/root,upperdir=/var/lib/docker/overlay/6031651302dba6053c5fde07937f4fd00dfc063577fa343b12c83f1c26b77887/upper,workdir=/var/lib/docker/overlay/6031651302dba6053c5fde07937f4fd00dfc063577fa343b12c83f1c26b77887/work
注意:
6031651302dba6053c5fde07937f4fd00dfc063577fa343b12c83f1c26b77887
这串数字是和报错中的一致的。
可以看到有跟该容器相关的挂载信息仍然处于挂载中,所以导致无法删除。
获取该挂载进程的pid并杀掉该进程:
[root@test-java nexus]# grep docker /proc/*/mountinfo|grep 6031651302dba6053c5fde07937f4fd00dfc063577fa343b12c83f1c26b77887 | awk -F ":" '{print $1}' | awk -F "/" '{print $3}'
814
[root@test-java nexus]# kill -9 814
重新启动nexus:
[root@test-java nexus]# docker-compose up -d
Removing nexus_nexus_1
Recreating c67cf4bdefd9_nexus_nexus_1 ... error
ERROR: for c67cf4bdefd9_nexus_nexus_1 b'driver "overlay" failed to remove root filesystem for c67cf4bdefd9746ab850d09960211b02d0d184aa5e7c602095b1acdee57dc813: remove /var/lib/docker/overlay/ec743b1c55a524fd85421621314aa5acd44a29601f917f1f2eaed5f1a6d6c727/merged: device or resource busy'
ERROR: for nexus b'driver "overlay" failed to remove root filesystem for c67cf4bdefd9746ab850d09960211b02d0d184aa5e7c602095b1acdee57dc813: remove /var/lib/docker/overlay/ec743b1c55a524fd85421621314aa5acd44a29601f917f1f2eaed5f1a6d6c727/merged: device or resource busy'
ERROR: Encountered errors while bringing up the project.
还有这样的报错,说明还有相关的挂载进程没有停止掉。找出进程并杀掉:
[root@test-java nexus]# grep docker /proc/*/mountinfo|grep ec743b1c55a524fd85421621314aa5acd44a29601f917f1f2eaed5f1a6d6c727 | awk -F ":" '{print $1}' | awk -F "/" '{print $3}'
20910
21073
[root@test-java nexus]# kill -9 20910
[root@test-java nexus]# kill -9 21073
-bash: kill: (21073) - No such process
再次启动:
[root@test-java nexus]# docker-compose up -d
Removing nexus_nexus_1
Recreating c67cf4bdefd9_nexus_nexus_1 ... done
[root@test-java nexus]#
启动成功!
b'driver "overlay" failed to remove root filesystem 的解决方法的更多相关文章
- (原)docker的一个“Driver aufs failed to remove...”问题的解决
1. /var/lib/docker/aufs/mnt下的目录不能乱删! /var/lib/docker/aufs/diff下的目录删了就死了!!!!!2. 尽量不要用docker tag -f 这 ...
- mysql Access denied for user root@localhost错误解决方法总结(转)
mysql Access denied for user root@localhost错误解决方法总结(转) mysql Access denied for user \'root\'@\'local ...
- /dev/sda is apparently in use by the system; will not make a filesystem here!解决方法
/dev/sda is apparently in use by the system; will not make a filesystem here! 翻译:系统显然在使用,不会在这里做文件系统 ...
- Centos下忘记mysql的root密码的解决方法
Centos下忘记mysql的root密码的解决方法 一:(停掉正在运行的mysql) [root@NetDakVPS ~]# service mysql stop 二:使用 “--skip-gran ...
- openSUSE Linux 忘记root密码的解决方法
openSUSE Linux 忘记root密码的解决方法 : 对于大部分linux发行版本,忘记root密码的时候,是可以通过单用户模式来重设密码的. 如在redhat/fedora 下,可以通过在启 ...
- mysql忘记root密码的解决方法
Windows下mysql忘记root密码的解决方法 1. 首先检查mysql服务是否启动,若已启动则先将其停止服务,可在开始菜单的运行,使用命令:net stop mysql 或者在windows任 ...
- [转载]Ubuntu 14.04中root 密码忘记解决方法
Ubuntu 14.04中root 密码忘记解决方法 方法一: 如果用户具有sudo权限,那么直接可以运行如下命令: #sudo su root #passwd #更改密码 或者直接运行sudo ...
- MySQL初始化root密码以及root密码忘记解决方法
一.MySQL初始化root密码 mysql默认root用户没有密码,输入mysql –u root 进入mysql 1.进入mysql数据库 use mysql; 2.初始化root密码 mysql ...
- /dev/sdxx is apparently in use by the system; will not make a filesystem here! 解决方法
在存储上共享了一个500G的空间,映射到Linux系统提供上,环境由2个节点组成. 一. 测试一: 直接mount 用fdisk 格式化之后如下: [root@rac1 u01]# fdisk -l ...
随机推荐
- 如何在js里引用php变量
如何在js里面引用php的变量 php代码------------------------------------------- js代码------------------------------- ...
- Junit测试时,如何截获到Console的输出
RT: 参考如下Junit 测试代码: 注释部分 import java.io.ByteArrayOutputStream; import java.io.PrintStream; import st ...
- MySQL1安装
---恢复内容开始--- (1)安装MySQL ①ZIP安装 ②MSI安装(Windows Installer) Ⅰ 先从官网下载 目前选择使用Typical安装↑ 目前不勾选配置选项↑ 找到配置向 ...
- golang简单实现jwt验证(beego、xorm、jwt)
程序目录结构 简单实现,用户登录后返回一个jwt的token,下次请求带上token请求用户信息接口并返回信息. app.conf文件内容(可以用个beego直接读取里面的内容)写的是一个jwt的se ...
- Unity 环境区域网格化
在使用A星算法和物体布局的过程中,常常会使用的网格的概念,即建立在网格的基础上,会使得游戏的相关编程变得简单的多. 格子的代码: using System.Collections; using Sys ...
- 获取webpart方法以及连接字符串记录
在页面地址后面添加?contents=1就可以显示所有页面的webpart部件了 server=wtcsps05;database=Testing_DB;uid=sqluser;password=wt ...
- 《jQuery基础教程(第四版)》学习笔记
本书代码参考:Learning jQuery Code Listing Browser 原书: jQuery基础教程 目录: 第2章 选择元素 1. 使用$()函数 2. 选择符 3. DOM遍历方法 ...
- Spring IOC 容器源码分析系列文章导读
1. 简介 Spring 是一个轻量级的企业级应用开发框架,于 2004 年由 Rod Johnson 发布了 1.0 版本.经过十几年的迭代,现在的 Spring 框架已经非常成熟了.Spring ...
- Python文件读写及网站显示
一.关于文件读写的笔记 (一) 文件概述 文件是一个存储在辅助存储器上的数据序列,可以包含任何数据内容 文件都是按照2进制进行存储的,但在表现形式上有2种:文本文件和二进制文件. 1. 文本文件 文本 ...
- SpringCloud之Eureka集群
前面我们介绍了SpringCloud注册中心Eureka,但是存在一个单点故障的问题,一个注册中心远远不能满足实际的生产环境,现在我们介绍一下如何搭建一个Eureka集群. 一:集群环境搭建 我们先建 ...