GNU/Linux >> Linux の 問題 >  >> Linux

孤立した veth インターフェイスを特定する方法とそれらを削除する方法は?

docker を最新バージョンにアップグレードすることで修正されました。新しいバージョン:

[email protected] ~ # docker version
Client:
 Version:      1.8.1
 API version:  1.20
 Go version:   go1.4.2
 Git commit:   d12ea79
 Built:        Thu Aug 13 02:35:49 UTC 2015
 OS/Arch:      linux/amd64

Server:
 Version:      1.8.1
 API version:  1.20
 Go version:   go1.4.2
 Git commit:   d12ea79
 Built:        Thu Aug 13 02:35:49 UTC 2015
 OS/Arch:      linux/amd64

インターフェイスはコンテナーと一緒に削除されるようになりました。古い孤立したインターフェースは、次のコマンドによって手動で削除されました:

# ip link delete <ifname>

ここには 3 つの問題があります:

<オール>
  • 1 つのコンテナーを開始しても、veth のカウントが増加しないはずです Docker が veth を作成するため、システム上のインターフェイスを 2 ずつ ペアの一方の端はコンテナーの名前空間で分離されており、ホストからは見えません。

  • コンテナを開始できないようです:

    Error response from daemon: Cannot start container ...
    
  • Docker は veth をクリーンアップする必要があります

  • これらの事実から、あなたの環境には何か根本的な問題があるのではないかと疑われます。使用しているディストリビューション、カーネルのバージョン、および Docker のバージョンに関する詳細を質問に追加していただけますか?

    <ブロック引用>

    どのインターフェイスが既存のコンテナにリンクされているかを特定するにはどうすればよいですか?また、削除されたコントレーナーにリンクされた余分なインターフェイスを削除するにはどうすればよいですか?

    veth の手動削除に関して インターフェイス:veth インターフェイスはブリッジではないので、もちろん brctl で削除することはできません .

    veth を削除するには インターフェース:

    # ip link delete <ifname>
    

    「アイドル」インターフェースの検出は厄介な問題です。なぜなら、トラフィックを見るだけでは、まだ使用されていてあまりアクティビティが見られないものを誤って削除してしまう可能性があるからです。

    あなたが実際に探したいのは veth だと思います ピアがあるインターフェース グローバル ネットワーク名前空間に表示されます。 veth のピアを見つけることができます これらの命令を使用してインターフェイスを作成すると、そのインターフェイスが表示されているかどうかを確認し、どちらかを削除するだけです ( veth を削除する インターフェイスもそのピアを削除します)。


    Linux
    1. OSとLinuxのバージョンを確認する方法

    2. Linuxでユーザーグループを作成および削除する方法

    3. Unix で空のディレクトリとファイルを見つけて削除する方法

    1. Linuxでメモリバッファとキャッシュを削除する方法

    2. Ubuntu 20.04および18.04にPythonをインストールするにはどうすればよいですか?

    3. Iptables ルールを表示および削除する方法 – リストとフラッシュ

    1. Linuxでディレクトリとフォルダを削除する方法は?

    2. リモートDNSサーバーのソフトウェア名とそのバージョンを識別する方法は?

    3. それらのパーティションとファイルシステムのサイズを変更するにはどうすればよいですか?