调整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