これで解決!Docker for macのディスク容量を小さくしよう(ベータ)

2017年1月23日

先日、Docker for macでDocker.qcow2というファイルが肥大化する件というのを書かせていただきましたが、こちらの件、Docker for macの最新版ベータにて、ある程度自動で解消されるような処理がマージされたようです。

New Data Management commands #26108
https://github.com/docker/docker/pull/26108

Docker for mac のベータチャンネルにも降ってきましたので、試してみました。

今回ベータチャンネルで降ってきた内容は多いのですが、その中でReclaim disk size on rebootというのが今回の対応になってそうです。

DataManagement commands周りの主な対応内容としては、VM内のdfを表示するコマンド(docker system df)と、お掃除用のコマンド(docker system prune)が出来たといった感じでしょうか。

docker system df

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

[gen@Gen-no-MacBook ~]$ docker system df
TYPE                TOTAL               ACTIVE              SIZE                RECLAIMABLE
Images              26                  11                  14.75 GB            7.695 GB (52%)
Containers          19                  0                   21.61 kB            21.61 kB (100%)
Local Volumes       92                  16                  4.79 GB             3.872 GB (80%)

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: 4.931 GB

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

prune後にDockerを再起動

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

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

docker system df

[gen@Gen-no-MacBook ~]$ docker system df
TYPE                TOTAL               ACTIVE              SIZE                RECLAIMABLE
Images              25                  0                   14.61 GB            14.61 GB (100%)
Containers          0                   0                   0 B                 0 B
Local Volumes       0                   0                   0 B                 0 B

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

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

prune実行前は

-rw-r--r--   1 gen staff 24639504384 1 21 23:37 Docker.qcow2

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

prune実行後は

-rw-r--r--   1 gen  staff  22750363648  1 21 23:38 Docker.qcow2

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

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

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


追記

後日、何度かDocker for macを再起動してたら、さらにサイズが小さくなってました。

-rw-r--r--   1 gen  staff  17970692096  1 22 11:32 Docker.qcow2

断片的に縮小していく感じなのかもしれません。

Reclaim disk size on rebootという位なので、もしかしたらDocker for macの再起動のたびに不要な領域が解放されていく、という事なのかもしれません。

Docker

Posted by GENDOSU