调整Docker容器的大小
我想看看每个docker集装箱的大小是否可以通过一些configuration来限制。
在此之后,我可以从10G增加正在运行的 容器的大小。 我可以缩小它吗? 试图缩小抛出一个错误说online shrinking not supported
。
理想情况下,我正在寻找configuration和设置默认容器大小的容器将在创build时inheritance的选项。 devicemapper上的Docker docbuild议--storage-opt
启动--storage-opt
守护进程。 但似乎没有工作。
我也想知道,如果大小可以限制每个容器(例如在docker run
命令)。
任何指向正确的方向非常感谢。 提前致谢
如果您使用的是devicemappergraphics引擎,那么storage-opt dm.basesize是您尝试执行的方法。 您需要在更改configuration后清除/ var / lib / docker(注意,即使您使用直接块设备来configuration数据和元数据池设备,这也将清除当前拥有的所有映像)。
以下是我遵循的步骤:
$ 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基本大小。
首先,更改configuration以添加“–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(确保所有的容器都被预先停止,重新加载configuration,清除/ var / lib / docker并重新启动Docker:
# systemctl stop docker # systemctl daemon-reload # rm -rf /var/lib/docker # systemctl start docker
“泊坞窗图像”应确认没有图像存在。
现在重新运行testing:
$ 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的基础大小。
它适用于devicemapper设置。
--storage-driver devicemapper --storage-opt dm.basesize=5G