App | Version |
---|---|
Windows 10 |
|
Docker Desktop |
3.2.2 |
PowerShell |
7.1.2 |
原因🥢
エラーメッセージ通り。
その Volume を使用しているコンテナがまだ削除されずに残っていることが原因。
自分の場合は停止状態( exited )のままコンテナが残っていたせいだった。
対処方法🍣
次のコマンドを実行して、停止状態のコンテナを削除すればいい。
Example 1. 停止状態のコンテナすべてを削除したあとに volume を削除
docker container prune --force && (1)
docker volume rm <volume name>
1 | 停止状態のコンテナすべてを削除する。 |
また、削除すべきコンテナを絞り込むこともできる。
下記のように --filter
オプションを利用して、volume をマウントしているコンテナのみを抽出して削除する。
Example 2. 対象の volume をマウントしているコンテナだけを削除
$target = 'target-volume-name' (1)
docker ps -a --quiet --filter "status=exited" --filter "volume=$target" | (2)
%{ docker container rm $_ } && (3)
docker volume rm $target
1 | 削除したい volume の名前。 |
2 | 停止状態かつ対象の volume をマウントしているコンテナのIDを抽出。 |
3 | 抽出されたコンテナを削除。 |
docker container prune コマンドでは現在のところ、 volume についてフィルタリングできない(Docker Documentation)。
|