栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

docker 重新部署服务时报错 device or resource busy 的解决

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

docker 重新部署服务时报错 device or resource busy 的解决

最近遇到一个问题, 当我在docker里重新部署某个服务的时候,执行完sh start.sh 命令或者docker-compose up -d命令后服务启动不成功,还报了个device or resource busy的错。

然后我docker ps一看,好家伙,不仅启动不成功,服务还没了。
这是因为docker 部署的时候会将原本的东西全部 rm一遍然后才又重新构建。 这下好了,删除是删除成功了, 但是没部署启动成功啊。

看一下当时报错内容:
failed to remove root filesystem for 9b13c255d03757c456651506ada5566a5b5e5a87b851e3621dcejf823: remove /var/lib/docker/overlay/9b13c255d03757c456651506adaa2fb660f75a5b5e5a87b851e3621dce0a368d/merged: device or resource busy

主要看,是报了:device or resource busy, 这意思是说设备或资源繁忙,你没法删除啊。

然后我去到了/var/lib/docker/overlay/9b13c255d03757c456651506adaa2fb660f75a5b5e5a87b851e3621dce0a368d/merged 这目录下一看,是空的,手动删除也不行。

解决办法 1. 查找占用此目录的进程

命令:grep id /procmounts

​执行命令后很明显看到有两个进程正在使用它:

/proc/25086/mounts:overlay /data0/docker/overlay2/9b13c255d03757c456651506adaa2fb660f75a5b5e5a87b851e3621dce0a368d /merged overlayrw,relatime,lowerdir=/data0/docker/overlay2/l/F4BQHNVPHGRKWXFRUIHXUMAHZ2:/data0/docker/overlay2/l/.....
/proc/25065/mounts:overlay /data0/docker/overlay2/9b13c255d03757c456651506adaa2fb660f75a5b5e5a87b851e3621dce0a368d /merged overlayrw,relatime,lowerdir=/data0/docker/overlay2/l/......

2. 杀死进程

命令:kill -9 进程id
示例如下:
kill -9 25086
kill -9 25065

注意:有些进程能不能直接进行删除要看清楚,一股脑删除了万一影响到别的服务就不好了。

3. 继续操作删除目录,成功

命令: rm -rf 报错的文件路径
示例:
rm -rf /var/lib/docker/overlay/9b13c255d03757c456651506adaa2fb660f75a5b5e5a87b851e3621dce0a368d/merged

删除这个目录文件后再重新执行 sh start.sh 或者 docker-compose up -d 命令启动服务, 则启动成功了!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/461003.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号