在k8s没有出来之前,我们用的就是LXC,古早版本了。
那时候是1:60的虚拟,一台物理机上跑60个LXC,居然这样运行了8年无异常,现在要升级一下了。
那时候的LXC,存储空间无法单独设定(缺省10G),cpu和mem的limit也有这样那样的问题。
进化到新版本的Docker后,存储部分也需要修改,我们采用overlay2:
docker info
...
Storage Driver: overlay2
Backing Filesystem: xfs
Supports d_type: true
Native Overlay Diff: true
...
缺省的就是overlay2和xfs
一、修改boot内核启动参数
vi /etc/default/grub
#加上rootflags=uquota,pquota
GRUB_CMDLINE_LINUX="console=tty0 crashkernel=auto net.ifnames=0 console=ttyS0 rootflags=uquota,pquota"
#更新
grub2-mkconfig -o /boot/grub2/grub.cfg
#重启
reboot
二、检验并启动容器
cat /proc/mounts |grep vda
/dev/vda1 / xfs rw,relatime,attr2,inode64,usrquota,prjquota 0 0
有prjquota即可
按需启动容器,指定空间大小,size=2G
docker run --rm -dit --name=t36 --storage-opt size=2G --net macvlan0 --ip=172.18.31.36 alpine:latest ash
docker exec -it t36 ash
df -h

这样就可以单独限制容器的大小了。