Docker - 解決在容器內刪除和主機映射的目錄而報錯 rm: cannot remove 'webapps': Device or resource busy 的問題


問題背景

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. 或者看下這篇文章:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM