這是在國外的 AWS Summit 2018 看到的訊息,在某一個 Container 的 session 提到的 Docker 小工具「docker-gc」
docker-gc 是 spotify 開源出來的,主要是來刪除一些垃圾 container / image,覺得很常用到乾脆記錄下來 …
用 docker-gc 來清 image / container
到 Spotify 的 Github 抓 docker-gc 回來
$ git clone https://github.com/spotify/docker-gc
然後把 docker-gc build 起來
$ cd docker-gc $ docker build -t spotify/docker-gc .
幾種常見用法:
- 一般用法,直接 docker run 去抓 docker.sock,這樣就會砍 images / container
$ docker run --rm -v /var/run/docker.sock:/var/run/docker.sock -v /etc:/etc:ro spotify/docker-gc
- 用 DRY_RUN=1 來先測試看看會砍掉哪些 images / container,預設沒加上 DRY_RUN 的話就會真的砍掉 …
$ docker run –rm -v /var/run/docker.sock:/var/run/docker.sock -e DRY_RUN=1 spotify/docker-gc
- 要移掉 volumes 的話要用 REMOVE_VOLUMES=1
$ docker run --rm -v /var/run/docker.sock:/var/run/docker.sock -v /etc:/etc -e REMOVE_VOLUMES=1 spotify/docker-gc
如果你是拿來測試用,懶得下這麼長的指令可以用 alias,或者是直接放到 crontab 去排程跑就好