Centos Docker 快速配置/低配机器开启虚拟内存

976 阅读2分钟

安装Docker

更新系统:

sudo yum update

安装所需的软件包,以便能够通过HTTPS下载Docker包:

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

添加Docker的官方存储库:

sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

安装Docker:

sudo yum install docker-ce

启动Docker并将其设置为开机启动:

sudo systemctl start docker
sudo systemctl enable docker

验证Docker是否安装成功:

sudo docker --version

安装Docker Compose

sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

修改权限

sudo chmod +x /usr/local/bin/docker-compose

验证安装成功

docker-compose --version

创建虚拟内存

block_sizenumber_of_block大小可以自定义,比如bs=1M count=1024代表设置1G大小SWAP分区。

sudo dd if=/dev/zero of=/swapfile bs=1M count=4096

设置交换分区文件

sudo mkswap /swapfile

启用交换分区文件

sudo swapon /swapfile

为了确保在重启系统后交换文件仍然有效,将下面的行添加到/etc/fstab文件中:

/swapfile swap swap defaults 0 0

设置虚拟内存阈值

备份当前的GRUB配置文件

sudo cp /etc/default/grub /etc/default/grub.bak

使用文本编辑器打开 /etc/default/grub 文件。你可以使用 nanovim,或者你喜欢的任何其他文本编辑器。

sudo vim /etc/default/grub

在该文件中,你可以修改各种启动选项。例如,要添加额外的内核启动参数,你可以编辑 GRUB_CMDLINE_LINUX 行。如果你想为Docker启用内存和交换空间限制,你可以添加 cgroup_enable=memory swapaccount=1 到该行。

在已有的 GRUB_CMDLINE_LINUX 参数中添加新的参数时,你只需要在双引号内的最后添加你想要的参数,每个参数之间用空格隔开。

 如果原本已有的参数不要删除,以下命令仅演示新增的参数

GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1"

更新GRUB

sudo grub2-mkconfig -o /boot/grub2/grub.cfg

重启系统

sudo reboot

修改虚拟内存阈值

修改swappiness参数值,此处以空闲内存少于10%时才使用SWAP分区为例

在Linux系统中,可以通过查看/proc/sys/vm/swappiness内容的值来确定系统对SWAP分区的使用原则。当 swappiness内容的值为0时,表示最大限度地使用物理内存,物理内存使用完毕后,才会使用SWAP分区。当swappiness内容的值为100时,表示积极地使用SWAP分区,并且把内存中的数据及时地置换到SWAP分区。查看修改前为0,需要在物理内存使用完毕后才会使用SWAP分区。

临时修改:

echo 10 >/proc/sys/vm/swappiness

永久修改,在系统重启之后也生效的话,通过vim命令编辑/etc/sysctl.conf文件,并增加以下内容。

vm.swappiness = 10

执行以下命令,验证添加成功。

sysctl -p