🐳
docker rm -fがZFSのせいで失敗する話
おはこんばんにちは
先程ちょっと困ったので備忘録として残します
私はMintユーザなのですがたまに違うディストリの検証するためにDockerコンテナ上で作業します
コンテナ起動しっぱなしでOS再起動とかすると
コンテナがExit状態で残りますよね?
私はズボラな人間なのでこれがよく溜まっているので
思い出したようにあの残骸をdocker rmするのですが
先程こんなエラーが出ました
$ docker rm -f elastic_edison
Error response from daemon: container 82de58e15a8c1db2a8e0709abb3c4707270e221ced631d8e6d46c07b09349623: driver "zfs" failed to remove root filesystem: exit status 1: "/usr/sbin/zfs fs destroy -r rpool/var/lib/docker/b7d09d5dbf5001fcd2da7521d77e490c3ac3c6fd1774713ce6fd9b78666731ef" => cannot open 'rpool/var/lib/docker/b7d09d5dbf5001fcd2da7521d77e490c3ac3c6fd1774713ce6fd9b78666731ef': dataset does not exist
私はZFS上にLinuxインストールしてるので多分他のファイルシステム使ってたら出ないエラーだと思います
で、これの解決策というか。
適当にこれやったら治ったというか。。
ちゃんとした手順じゃない気がするというか。。。
まぁとりあえずこれで治りました
$ zfs create rpool/var/lib/docker/b7d09d5dbf5001fcd2da7521d77e490c3ac3c6fd1774713ce6fd9b78666731ef
$ docker rm -f elastic_edison
elastic_edison
要するにzfs fs destroy -rコマンドで消そうとしてるところが無いってエラーっぽいからとりあえず作ってみたら消せちゃった😉
これ正しい対処法なんだろうか。。。。🤔
でもエラー文言でググっても解決策見つけられなかったし。。。
docker psしてもちゃんと消えてるように見えるんで正式な対応作見つけるかDockerかZFSかわからないけどこの問題に対応してくれるまでこの方法で回避していこうと思います。。。
それでは良いLinuxライフを
しゃみしゃっきり〜
P.S.
インストーラがZFS対応してくれたおかげでRoot on ZFS環境も簡単に出来るようになってますね
つまりこの環境のユーザも増えてるはず
ということはこの問題もそんな人たちがすぐ修正してくれると思ってます😆
Discussion