tmegos blog

Web developer

GitLab Container Registryがストレージを圧迫していたので使われていないコンテナを削除した

背景

GitLabを動かしているサーバのストレージが90%を超えていました
du -sh ./*でサイズが大きいディレクトリを調べてみると、
/var/opt/gitlab/gitlab-rails/shared/registry/
であることが判明
使われていないコンテナが削除されず残っていたようです

削除は基本的にはQiitaの記事のとおりに進めばOKです
一部バージョン違いでコマンド等異なる部分がありました

qiita.com

gitlab.com

環境

  • GitLab CE 11.7.0
  • docker-distribution-pruner 0.2.0

手順

  1. Pipelineから最新のバイナリを取得
  2. 実行権限を与える

     # chmod +x ./docker-distribution-pruner
    
  3. 削除対象を調べるためdry run
    手元の環境では途中でエラーが発生して終了したので、-soft-errorsオプションで処理を続行するようにしました

      # EXPERIMENTAL=true ./docker-distribution-pruner -config=/var/opt/gitlab/registry/config.yml -delete-old-tag-versions=false -soft-errors
    
      # 300GBほど削除できることが判明…  
    
      WARN[0005] DELETEABLE INFO: 30082 links, 22749 blobs, 0 other, 329 GB
    
  4. -deleteオプションをつけて削除(docker-backupに退避)

     # EXPERIMENTAL=true ./docker-distribution-pruner -config=/var/opt/gitlab/registry/config.yml -delete-old-tag-versions=false -soft-errors -delete
    
  5. docker-backupを削除

     # /var/opt/gitlab/gitlab-rails/shared/registry/docker-backup