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
を削除する インターフェイスもそのピアを削除します)。