2017-07-12 14 views
2

最近、企業のドッカーイメージのハブとしてDockerレジストリを使用し始めました。数週間後、私はdockerレジストリがすべてのディスクスペースを食べていたことを発見しました:(ドッカーレジストリのガベージコレクション

GITから最新のマスタを取得するたびに、ドッカーイメージを作成してレジストリにプッシュする開発者向けに自動展開します。イメージ名とイメージタグは常に同じですので、ドッカーレジストリで新しいイメージを上書きすることを期待していますが、実際にはこれらのレイヤはすべて.../docker/registry/v2/blobs/SHA256/フォルダ

内蔵のガベージコレクタは役に立ちませんでした:。は/ usr/binに/ドッキングウィンドウのexecレジストリ/ binに/レジストリのガベージコレクト/etc/docker/registry/config.ymlそれは単にありません。未使用のレイヤーを削除しないsmth.likeを生成する:削除されたブロブ1204個、削除可能なブロブ

ドッキング画像は1つしかありません。しかし、それは非常に頻繁にレジストリにプッシュされています。画像の最新バージョンのみを保存するには?

レジストリのバージョンは2.4.0

+0

、その画像が層の多くを持っているのでしょうか?たぶん、開発者は画像を再構築するのではなく、レイヤーを上に置いています(ドッカーのコミットを使用している可能性があります) – Robert

答えて

2

がタグなしの画像を削除するには、ガベージコレクタを強制することです、いくつかのマニフェストファイルを削除する必要があります。私はドッカーレジストリ2.4.0以来、私は生産に使用されているスクリプトを持っているし、まだ2.6.1で動作します:偶然

https://github.com/ricardobranco777/clean_registry.sh

+0

ありがとう!非常に便利。あなたのソリューションに基づいて私たちの要件に合わせたカスタムbashスクリプトを構築しました。 –

+0

Docker HubでPythonスクリプトとDockerイメージを作成しました。 https://github.com/ricardobranco777/clean_registry –

+0

優秀な仕事...私はあなたのマネージャーにあなたの給料を3倍にしています –

関連する問題