使用Docker-Compose和存储选项(大小)

ich*_*chi 7 size limit quota docker docker-compose

在devicemapper下工作时,我可以使用"--storage-opt size = 1536M"参数应用磁盘大小配额.例如:

docker run -dt --name testing --storage-opt size=1536M ubuntu
Run Code Online (Sandbox Code Playgroud)

问题是,如何通过使用docker -compose,通过compose*.yml文件来完成此操作.

谢谢.

另类解决方案:

使用devicemapper作为Docker的默认存储驱动程序,并为每个容器设置basesize.

要将devicemapper用作默认值:

1) apt-get install lvm2 thin-provisioning-tools

2)更改/ etc/default/docker,如下所示:

--storage-driver devicemapper --storage-opt dm.basesize=3G

3)逐一做这些:

systemctl stop docker
systemctl daemon-reload
rm -rf /var/lib/docker
systemctl start docker
Run Code Online (Sandbox Code Playgroud)

4)现在你的容器只有3GB空间.另外,你可以定义vol.使用带有devicemapper的RUN命令时的空格(大小必须等于或大于basesize).例如:

docker run --storage-opt size=1536M ubuntu
Run Code Online (Sandbox Code Playgroud)

小智 6

尝试这个:

storage_opt:
  size: '1G'
Run Code Online (Sandbox Code Playgroud)

https://docs.docker.com/compose/compose-file/compose-file-v2/中所示

  • 如果其他人发现了这一点,则“storage_opt”当前在 V3 撰写文件中不可用(截至撰写本文时为 3.7)。然而,它在 V2 中可用,但在 V3 中被删除(这显然是一个完整的重新实现)。因此,不要浪费时间使用 storage_opts 来使用 V3 撰写文件! (13认同)
  • 你测试过这个吗?你的docker版本是什么?我在 18.05.0-ce 上收到“不受支持的配置选项” (2认同)