LoginSignup
7

More than 5 years have passed since last update.

posted at

updated at

Docker for macのディスク容量を小さくしたい

Docker肥大化対応

Docker for macは気がつくとディスク容量がすごく消費されているという状況になってしまいますが、つい先日Docker for macのベータに降ってきた内容が正式版に入ったら、この問題も解決しそう。
ベータに降ってきた内容としては
"Reclaim disk size on reboot"
という事で、再起動でディスクの再利用出来る所を使えるようにする、という感じですかね。

という事で、試してみました。

この"Reclaim disk size on reboot"周りの主な対応内容としては、VM内のdfを表示するコマンド(docker system df)と、お掃除用のコマンド(docker system prune)が追加になったといった感じでしょうか。

新たに追加になるコマンド(一部抜粋)

  • df
    Show docker disk usage
  • events
    Get real time events from the server
  • info
    Display system-wide information
  • prune
    Remove unused data

試してみる

df

$> docker system df

というコマンドで、今現在のVM内のディスク使用状況が以下のように表示出来ます。

$> docker system df
TYPE                TOTAL               ACTIVE              SIZE                RECLAIMABLE
Images              25                  10                  8.896 GB            -1.309e+08 B (-1%)
Containers          26                  2                   1.844 GB            1.844 GB (99%)
Local Volumes       49                  10                  3.2 GB              2.761 GB (86%)

RECLAIMABLEという列が、再利用可能な容量、といったところでしょうか。
※少しバグってますが。。

prune

$> docker system prune
WARNING! This will remove:
    - all stopped containers
    - all volumes not used by at least one container
    - all networks not used by at least one container
    - all dangling images
Are you sure you want to continue? [y/N] y

このような確認事項が表示されて

[y]を選択すると処理が始まります。

Deleted Containers:
(省略)

Deleted Networks:
(省略)

Deleted Images:
(省略)

Total reclaimed space: 5.743 GB

という感じにログが表示され、5.743 GB空いたようです。

prune後にDockerを再起動します。

※メニューからrestartを選択すると再起動します。

起動したら、先ほどのdfで確認してみます。

$> docker system df
$> docker system df
TYPE                TOTAL               ACTIVE              SIZE                RECLAIMABLE
Images              20                  1                   8.138 GB            7.876 GB (96%)
Containers          2                   2                   125 B               0 B (0%)
Local Volumes       2                   2                   59.5 MB             0 B (0%)

再利用化出来たようです。

実際のVMのサイズの変化は

prune実行前は

-rw-r--r--  1 hoge staff  26539524096  1 23 09:54 Docker.qcow2

という巨大なVMになってしまっています。

prune実行後は

-rw-r--r--  1 hoge staff  18188664832  1 23 09:55 Docker.qcow2

約8GBほど縮小されたようです。

感想

これが正式版に入れば、VMのコンソールに入ったり

ディスクの変換をかけたりする必要がなくなり、dockerのコマンドで解消出来るので良さそうです。

参考

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
7