Create docker volume with limited size

前端 未结 3 684
无人及你
无人及你 2020-12-09 12:41

There is is very limited information regarding create volume with options \"https://docs.docker.com/engine/reference/commandline/volume_create/ \".

I just want to cr

相关标签:
3条回答
  • 2020-12-09 13:19

    This is actually possible using dockers local volume driver. This driver accepts options similar to the linux mount options. Check out this excellent answer.

    You were close with your attempt. You need to specify a --opt device= as well as a --opt type= option. This will essentially mount a block device on your host into your docker container as a volume. The type option specifies the filesystem type to use. The device option requires you to specify one of the block devices on your host - /dev/sda2 for example. You can see a complete list by running lsblk.

    However, it would be a bad idea to map existing drives (unless they are unused). So you will need to create a new block device (using lvm or equivalent), or for testing you can use volatile storage (tmpfs), as you have tried.

    0 讨论(0)
  • 2020-12-09 13:29

    Docker volumes have "drivers" attached to them. The default driver is one called "local" and all it does is creates a directory in /var/lib/docker and mounts it to the container. There's no option to specify (or limit) the volume's size.

    0 讨论(0)
  • 2020-12-09 13:30

    I solved issue for limiting space on docker volumes (by binding dir with -v) using xfs_quota

    Location where I needed to store data is a XFS volume mounted with prjquota option

    #~ mount 
    /dev/mapper/centos_ssp--forfiter--07-home on /home type xfs (rw,[..],**prjquota**)
    

    I think that kernel must support it (rootflags=pquota kernel options)

    Example from above link:

    Enabling project quota on an XFS filesystem (restrict files in log file directories to only using 1 gigabyte of space).
    # mount -o prjquota /dev/xvm/var /var
    # echo 42:/var/log >> /etc/projects
    # echo logfiles:42 >> /etc/projid
    # xfs_quota -x -c 'project -s logfiles' /var
    # xfs_quota -x -c 'limit -p bhard=1g logfiles' /var
    

    There is also a plugin for docker cirocosta/xfsvol

    0 讨论(0)
提交回复
热议问题