环境检测参数
以 CentOS 7.9 服务器为例
User
说明:运行脚本时的用户
要求:因使用到 docker,所以需要 root 用户或者具有 root 权限的用户
Selinux
说明:Linux 安全系统
要求:因使用到 docker,需关闭 Selinux
临时关闭:setenforce 0
永久关闭:修改 /etc/selinux/config 中的 SELINUX=enforcing 或 SELINUX=permissive 为 SELINUX=disabled
Firewalld
说明:自带的防火墙工具。建议关闭防火墙,容易与 iptables 规则冲突,云服务器可使用安全组规则进行网络控制
临时关闭:systemctl stop firewalld(关闭防火墙后需要重启 docker 服务,否则规则会有可能丢失导致网络异常)
永久关闭:systemctl disable firewalld
CPU
说明:处理器核心数量
要求:最低 8 核
Memory
说明:内存大小
要求:最低 32G 内存容量
docker
说明:环境变量中需要有 docker 命令且可执行成功
要求:通过 RPM 安装后会自动添加至 PATH 环境变量,二进制安装需手动添加至环境变量
dockerd
说明:环境变量中需要有 dockerd 命令且可执行成功
要求:通过 RPM 安装后会自动添加至 PATH 环境变量,二进制安装需手动添加至环境变量
container
说明:容器内进程实际可用的文件描述符限制。Docker v29 同步更新 containerd v2.1.5 后,容器会使用 systemd 默认的 LimitNOFILE,ulimit -n 可能降至 1024。该变化会影响所有容器,可能导致数据库、中间件等服务因文件句柄不足,出现启动失败或运行异常。
调整方法:修改或新建 /etc/docker/daemon.json,增加 default-ulimits 配置,并将 nofile 设置为 102400:
{
"default-ulimits": {
"nofile": {
"Name": "nofile",
"Soft": 102400,
"Hard": 102400
}
}
}
调整后需重启 docker 服务生效。
MaxMapCount
说明:限制一个进程可以拥有的 VMA(虚拟内存区域)的数量,内置 Elasticsearch 需要调整才可成功启动
临时调整:sysctl -w vm.max_map_count=262144
永久调整:/etc/sysctl.conf 文件增加 vm.max_map_count=262144
SysFileNr
说明:操作系统级别的文件描述符限制
临时调整:sysctl -w fs.file-max=2048000
永久调整:/etc/sysctl.conf 文件增加 fs.file-max=2048000
IPv4Forward
说明:docker 对外提供服务需要开启
临时调整:sysctl -w net.ipv4.ip_forward=1
永久调整:/etc/sysctl.conf 文件增加 net.ipv4.ip_forward=1