[Gitlab]Runner磁碟空間不足問題

專案若更新頻繁,
Runner所在VM(或主機)可能會三不五時遇到個問題,
磁碟空間不足,
此時可以用以下指令確診病情:
docker system df
若顯示有很大量可回收資源(由reclaimable欄位查看),
此時就可以考慮定時清理docker不用的資源,
一個簡單好用的方案是crontab搭配docker system prune。

選定執行時間建立crontab

依照想要的頻率建立crontab,
我希望每天清理,
因此直接建立在/etc/cron.daily/資料夾中。
cd /etc/cron.daily
vim clean-docker-system.sh

撰寫corntab腳本

使用docker system prune指令清理不使用的資源,
這邊因VM只供runner使用,做了徹底清理。

#!/bin/sh
docker system prune --volumes --all --force

說明有用到的幾個選項:

  • –all , -a:清理所有unused鏡像,而不單單是dangling狀態的鏡像
  • –volumes :清理不使用的資料卷
  • –force , -f :不做確認詢問

若是環境有其他服務使用docker,
須謹慎使用–volumes選項,避免誤刪資料。

設定corntab腳本權限

新建的檔案權限是664,
若要將該檔案變成可執行檔,且不讓其他人修改檔案,
要將檔案權限調整為755

chmod 755 clean-docker-system.sh

到此就設定完成囉,
可以隔段時間再檢查是否有正常運作。

使用 WordPress.com 設計專業網站
立即開始使用