1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

[Docker / docker-compose] 削除系コマンド実行時に Device or resource busy 発生

Posted at

症状

dockerコンテナ内で以下のようなコマンドを実行すると、

$ pipenv --rm
Removing virtualenv (/app/.venv)...
⠏ Running...Error:  An error occurred while removing /app/.venv!
[Errno 16] Device or resource busy: '/app/.venv'
$ rm -r .venv
/bin/rm: cannot remove '.venv': Device or resource busy

このように
Device or resource busy
というエラーが出る

原因

docker の volume として指定しているディレクトリ(おそらくファイルも?)を削除しようとすると、このようなエラーが表示されるということがわかった。

自分の場合、docker-compose.ymlがこうなってた。

docker-compose.yml
version: '3'
services:
  app:
    build:
      ...
    volumes:
      # NOTE: .venvは`volume`としてdockerが作成している
      - hoge_volume:/app/.venv/
volumes:
  hoge_volume:

結論

dockerがvolumeとして作成したディレクトリを削除しようとすると、Device or resource busyというエラーが表示されるようだ。

ただし、他の原因のせいでこのエラーが表示されることもある。

dockerのvolumeとして作成したわけではないディレクトリやファイルが削除できない場合は、以下を参考にしてもいいかもしれない。

関連記事

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?