调整Docker容器的大小 [英] Resizing Docker containers

查看:1332
本文介绍了调整Docker容器的大小的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试看看每个码头容器的大小是否可以通过一些配置来限制。



以下这个,我可以增加运行 容器的大小从10G。我可以收缩吗?试图缩小一个错误,说在线缩小不支持



理想情况下,我正在寻找配置和设置容器在创建时将继承的默认容器大小。
关于 devicemapper 的Docker文档建议 - storage-opt ,同时启动docker守护进程。但它似乎不起作用



我也想知道每个容器的大小是否有限制(例如在 docker run 命令期间) / p>

非常感谢任何指向正确方向的指针。
提前感谢

解决方案

如果您使用devicemapper图引擎,那么storage-opt dm.basesize是你想要做什么的方式去做更改配置后,您需要清除/ var / lib / docker(请注意,这将擦除您当前拥有的所有映像,即使使用直接块设备来配置数据和元数据池设备)。



以下是我遵循的步骤:

  $ docker run -ti base / arch df  - h / 
文件大小已使用可用性使用%安装在
/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图像应该确认没有图像。



现在重新运行测试:

  $ docker run -ti base / arch df -h / 
无法找到图片'base / arch:latest '本地
拉取库库/ arch
a64697d71089:下载完成
511136ea3c5a:下载完成
4bbfef585917:下载完成
状态:下载更新的基本/ arch:image
文件系统大小已使用可用使用%安装在
/dev/mapper/docker-254:7-66094...f635ac65 4.8G 322M 4.3G 7%/

我们有一个5Gb的基本大小。


I am trying to see if size of each docker container can be limited through some configuration.

Following this , I am able to increasing the size of a running container from 10G. Can I shrink it? Trying to shrink threw an error saying online shrinking not supported.

Ideally, I am looking for options to configure and set default container size which containers will inherit when getting created. Docker doc on devicemapper suggested --storage-opt while starting docker daemon. But it does not seem to work.

I would also like to know if size can be limited per container (say during docker run command).

Any pointer towards the correct direction is greatly appreciated. Thanks in advance

解决方案

If you're using the devicemapper graph engine, then storage-opt dm.basesize is the way to go for what you are trying to do. You need to clean out your /var/lib/docker after changing the configuration (note this will wipe all images you currently have, even if you use direct block devices to provision the data and metadata pool devices).

Here are the steps I followed:

$ 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% /

So I currently have the default 10G base size.

First, change the configuration to add "--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

Then, stop Docker (make sure all containers are stopped beforehand, reload config, cleanout /var/lib/docker and restart Docker:

# systemctl stop docker
# systemctl daemon-reload
# rm -rf /var/lib/docker
# systemctl start docker

"docker images" should confirm no images are present.

And now rerun the test:

$ 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% /

And there we have a 5Gb base size.

这篇关于调整Docker容器的大小的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆