経緯
ローカル環境に使ってないコンテナとイメージが溜まってきたので掃除をしようとしたところエラーが起きたので備忘録として残しておきます。
やったこと
まず、VSCodeのプラグインからDockerのコンテナ、イメージを削除していたところ一つだけ削除が完了しないものがあったのでターミナルから調査をする必要が出てきました。
まずは、コンテナを確認してみます。
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
cca3269a13aa 09361feeb475 "docker-entrypoint.s…" 3 days ago Up 3 days 33060/tcp, 0.0.0.0:3308->3306/tcp database
↑このdatabaseのコンテナが削除できなくなりました。
まずは稼働中になっているのでdocker stop
をして停止を試みます。
$ docker stop cca3269a13aa
```
いくら待っても返答が返ってきません。仕方なく`command + C`で処理を中止します。
次にコンテナを強制削除することを検討します。
```
$ docker rm --force cca3269a13aa
Error response from daemon: removal of container cca3269a13aa is already in progress
```
こちらもダメですね。。
「削除は進行中です」みたいなエラーが返ってきていますが、この処理が終わりそうな気配は全くないです。
プロセス周りでエラーしてるのかなということでMacを再起動します。(プロセスをkillして他のエラーに遭遇するのも嫌だったのでこうしています)
再起動後、再度プロセスを確認するとStatusがDeadに変わっています。
```
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
cca3269a13aa 09361feeb475 "docker-entrypoint.s…" 3 days ago Dead 33060/tcp, 0.0.0.0:3308->3306/tcp database
```
なんか、今なら削除できる気がします。
```
$ docker rm cca3269a13aa
cca3269a13aa
```
おぉ、無事削除することができました。
## 最後に
対応に慣れていればプロセスのkillでも対応できそうなので次同じことがあれば調べてみようと思います。
GUIで操作するのは、かなり楽をできますが何を実行してるか分からないのでなんか怖い、、、
どんなに便利になっても、基礎の学習は必要だなと感じました