问题背景

docker run -d --name tomcat7 -v /usr/local/tomcat/webapps:/usr/local/tomcat/webapps tomcat:7 
  1. 使用上述命令创建了个容器,并将容器的目录映射到主机的目录
  2. docker exec 进入容器的 CLI 模式
  3. 查看容器内服务是否启动,发现是启动的
  4. 查看 tomcat 目录下的文件夹
  5. 想删除 webapps 文件夹,但是报了下面的错误

rm: cannot remove 'webapps': Device or resource busy

问题排查

  • 无论服务是否启动都会有这个问题
  • 当 docker run 没有指定 -v 参数,即没有映射目录时没有这个问题
  • 如果要删除非映射目录 /usr/local/tomcat/webapps 的其他目录是没有这个问题
  • 最终答案:因为目录映射了,所以这个目录不能删除

解决问题

  1. 经过我多次尝试,若想操作映射的目录,只能进入该文件夹,再去操作所有文件,比如手动删除、移动所有文件
  2. 或者重新配置映射目录
  3. 或者看下这篇文章:

Docker - 解决在容器内删除和主机映射的目录而报错 rm: cannot remove 'webapps': Device or resource busy 的问题的更多相关文章

  1. rm: cannot remove `dir': Device or resource busy解决办法

    使用df查看系统发现: [ops@bs038 cm-5.4.0]$ df -hFilesystem Size Used Avail Use% Mounted on/dev/sda3 1.1T 200G ...

  2. Docker之rm: Device or resource busy

    docker 容器里 rm -rf /data 提示: rm: cannot remove ‘/data’: Device or resource busy 原因: 在建立容器的时候做了相应目录的挂载 ...

  3. Docker容器内连接宿主机即CentOS的Mysql服务器

    docker的宿主机是虚拟机下的CentOS 博主最近遇到一种情况,从服务器拷贝了一份数据库在宿主机Mysql服务器上,想要用本地的数据库测试自己的代码正确性,但是项目程序都是靠docker一键部署的 ...

  4. OCI runtime exec failed: exec failed: container_linux.go:380: starting container process caused: exec: "ip": executable file not found in $PATH: unknown (Docker容器没有ip addr命令:exec ip addr 报错)

    一.报错 1.报错信息1: OCI runtime exec failed: exec failed: container_linux.go:380: starting container proce ...

  5. docker中执行sed: can't move '/etc/resolv.conf73UqmG' to '/etc/resolv.conf': Device or resource busy错误的处理原因及方式

    错误现象 在docker容器中想要修改/etc/resolv.conf中的namesever,使用sed命令进行执行时遇到错误: / # sed -i 's/192.168.1.1/192.168.1 ...

  6. docker device or resource busy

    docker-compose -f docker-compose.yml up -d  时候报错 device or resource busy 使用 docker-compose down 会导致一 ...

  7. 加载驱动模块时Device or resource busy的解决方法

    加载驱动模块时Device or resource busy的解决方法 加载驱动模块时Device or resource busy的解决方法 insmod或modprobe驱动模块时Device o ...

  8. 当子查询内存在ORDER BY 字句时查询会报错

    问题:当子查询内存在ORDER BY 字句时查询会报错 SQL: SELECT * FROM ( SELECT * FROM USER ORDER BY USER_CORD ) S. 解决办法:在子查 ...

  9. Linux下rm -rf删除文件夹报错_ Device or resource busy

    1.错误信息 rm: cannot remove `speechd-centos_6.2-prtl-pred-mf34/modules/t2p/py/third/g2p/.nfs00000000039 ...

随机推荐

  1. webfunny前端监控开源项目

    前言介绍 如果你是一位前端工程师,那你一定不止一次去解决一些顽固的线上问题,你也曾想方设法复现用户的bug,结果可能都不太理想. 怎样定位前端线上问题,一直以来,都是很头疼的问题,因为它发生于用户的一 ...

  2. RocketMQ消息丢失解决方案:事务消息

    前言 上篇文章,王子通过一个小案例和小伙伴们一起分析了一下消息是如何丢失的,但没有提出具体的解决方案. 我们已经知道发生消息丢失的原因大体上分为三个部分: 1.生产者发送消息到MQ这一过程导致消息丢失 ...

  3. mysql DISTINCT选取多个字段,获取distinct后的行信息

    背景:      a表保存关联关系,通过ACode 获取该关系中的所有 BCode, 并获取所有Bcode-max(Bvrsn)的信息  Bnm 表a 表b          循序渐进:        ...

  4. c++11 R+字符串

    R+字符串 prefix(optional) R"delimiter(raw_characters)delimiter" (6) (since C++11) C++11引入了原始字 ...

  5. 灵魂拷问:你真的理解System.out.println()执行原理吗?

    原创/朱季谦 灵魂拷问,这位独秀同学,你会这道题吗?  请说说,"System.out.println()"原理...... 这应该是刚开始学习Java时用到最多一段代码,迄今为止 ...

  6. visio2016激活 试用版

    输入秘钥: W9WC2-JN9W2-H4CBV-24QR7-M4HB8   可以成功激活成试用版 有效期30天,30天之后需要你正式激活! 经本人使用完全可以激活,欢迎大家使用!   也欢迎大家支持正 ...

  7. APP打开(二)—标准流程

    APP打开是一个老生常谈的话题,在互联网时代,在APP遍地的时代,APP打开是每一个APP的必经之路,今天我想通过以下几点来阐述APP打开的标准流程,给这个话题写一点自己的见解. APP打开现状 标准 ...

  8. linux安装日志切割程序

    ====linux安装日志切割程序==== 安装 gcc(1) yum insatll gcc (2)# cd cronolog-1.6.2 4.运行安装 # ./configure# make# m ...

  9. Kubernetes Pod驱逐策略

    Kubelet 能够主动监测和防止计算资源的全面短缺. 在资源短缺的情况下,kubelet 可以主动地结束一个或多个 Pod 以回收短缺的资源. 当 kubelet 结束一个 Pod 时,它将终止 P ...

  10. DTU是什么 常见的DTU有哪些

    DTU也叫数据传输终端,它的主要功能是把远端设备的数据通过无线的方式传送回后台中心,想要完成数据的传输就需要建立一套完整的数据传输系统.DTU是一种现代物联网行业广泛使用的无线数据终端,利用公用运营商 ...