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