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 ...
随机推荐
- ORACLE ERP consolidation流程(一)
原文地址:ORACLE ERP consolidation流程(一) 作者:wolfyuan ORACLE EBS by transaction consolidation的详细流程(一)[@more ...
- HyperServer 中的 SSL 支持
HyperServer 中的 SSL 支持 DLL 模式不需要 SSL 配置, 因为 web 服务器 (如 IIS) 将承担 ssl 配置和 ssl 证书的责任. 对于独立和服务模式, ssl 配置是 ...
- Android-Genymotion Unable to load VirtualBox engine
点击Genymotion出现Genymotion Unable to load VirtualBox engine 解决方案: 打开官网,下载VirtualBox 点击安装: 然后再次点击打开Geny ...
- 未能加载文件或程序集,PublicKeyToken=“**********”,或它的某一个依赖项。强名称验证失败。
就是这种错误.这种错误怎么办? 以下步骤: (以上图dll为例) 1.看项目的Debug文件夹下是否有以下三个文件 2.看项目的.csproj文件下引用的报错dll的publickeytoken和版本 ...
- Ubuntu修改apt-get源
1.背景 服务器上安装了最新的Ubuntu Server 17.04,代号为zesty.使用apt-get命令安装软件时,有时候速度比较慢,有时候会失败.因此考虑用国内的镜像源更换下apt-get的默 ...
- Java并发编程总结3——AQS、ReentrantLock、ReentrantReadWriteLock
本文内容主要总结自<Java并发编程的艺术>第5章——Java中的锁. 一.AQS AbstractQueuedSynchronizer(简称AQS),队列同步器,是用来构建锁或者其他同步 ...
- Freemarker实例教程
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本人声明.否则将追究法律责任.作者:永恒の_☆ 地址:http://blog.csdn.net/chenghui0317/a ...
- webpack快速入门——实战技巧:watch的正确使用方法,webpack自动打包
随着项目大了,后端与前端联调,我们不需要每一次都去打包,这样特别麻烦,我们希望的场景是,每次按保存键,webpack自动为我们打包,这个工具就是watch! 因为watch是webpack自带的插件, ...
- nginx-https错误
连接 ssl.acfun.tv 时发生错误. SSL 接收到一个超出最大准许长度的记录. (错误码: ssl_error_rx_record_too_long) 最后发现,是因为nginx里的配置包含 ...
- Ubuntu 12.04 安装Redis并设置主从复制
今天想在Ubuntu上安装一个Redis服务器并配置Master-Slave,一开始懒得连VPN就查了一些国内的文章,不知道是没有亲自验证过的转载文章,还是版本问题造成的,发现按照步骤都没能成功完成配 ...