docker0やcni-podman1、virbr0等のネットワークを削除したいとき

dockerやPodman等のコンテナ実行環境を削除したいとき。

dockerやpodmanのネットワークが残っていて、docker network rmコマンドやpodman network rmコマンドで削除できない場合があります。「事前に定義されたネットワークのため、削除できません」ふむ。

もちろん、すべてのコンテナ・ポッド・イメージ・ボリュームは削除済みです。container ls –allコマンドで停止しているコンテナも削除してあります。

ネットワークが残っている状態で、dockerやpodman本体を削除しても、ネットワークだけ残ってしまい、困った状態になります。何か不要なものが残っていて、気持ちが悪いと言いますか。

削除手順を記録しておこうと思います。


docker0、cni-podman1、virbr0ネットワーク削除手順

ずばり。

# デバイスを確認
nmcli d
# デバイス削除
nmcli d delete <デバイス名>

nmcliコマンドを使用しまして。

systemdのNetworkManagerから、docker0、cni-podman1、virbr0デバイスを削除しました。


ネットワークデバイスが残っている理由は、アプリケーションからは、systemdのNetworkManagerが持つリソースを操作できない、削除できないことが理由のようです。

このため、nmcliコマンドで直接、systemdのリソースを操作することで削除が可能、という状況のようです。

背景にあるのはセキュリティ。アプリケーションとシステムを完全に分離することで、不正なアプリケーションによる不正な操作を防ぐ目的があるように思えます。

というわけで、システム側の操作を適切に行えば、不要なリソースが削除できることがわかりました。

不要なネットワークデバイスでお困りでしたら、そのような考え方で対処してみて下さい!

スポンサーリンク

フォローする

スポンサーリンク