devicemapper グラフ エンジンを使用している場合は、storage-opt dm.basesize を使用して目的を達成できます。構成を変更した後、/var/lib/docker を消去する必要があります (データおよびメタデータ プール デバイスのプロビジョニングにダイレクト ブロック デバイスを使用している場合でも、これにより、現在所有しているすべてのイメージが消去されることに注意してください)。
私が従った手順は次のとおりです。
$ docker run -ti base/arch df -h /
Filesysem Size Used Avail Use% Mounted on
/dev/mapper/docker-254:7-73733-b8dc...6d28a 9.8G 335M 8.9G 4% /
したがって、現在、デフォルトの 10G ベース サイズを使用しています。
まず、構成を変更して「--storage-opt dm.basesize=5G」を追加します。
# vim /etc/systemd/system/docker.service
...
ExecStart=/usr/bin/docker -d -H fd:// -s devicemapper \
--storage-opt dm.datadev=/dev/vg01/docker-dm-data \
--storage-opt dm.metadatadev=/dev/vg01/docker-dm-meta \
--storage-opt dm.basesize=5G
次に、Docker を停止します (事前にすべてのコンテナーが停止していることを確認し、構成をリロードし、/var/lib/docker を消去して Docker を再起動します。
# systemctl stop docker
# systemctl daemon-reload
# rm -rf /var/lib/docker
# systemctl start docker
「docker images」は、イメージが存在しないことを確認する必要があります。
次に、テストを再実行します。
$ docker run -ti base/arch df -h /
Unable to find image 'base/arch:latest' locally
Pulling repository base/arch
a64697d71089: Download complete
511136ea3c5a: Download complete
4bbfef585917: Download complete
Status: Downloaded newer image for base/arch:latest
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/docker-254:7-66094...f635ac65 4.8G 322M 4.3G 7% /
そして、5Gb の基本サイズがあります。