如何正确设置 docker 的交换/内存限制?

Sau*_*nda 6 docker

我运行了一个 docker 容器,并-m 1800m收到了与内存交换功能等相关的警告(我忘记了确切的警告,因为我现在没有看到它)。这是我在互联网上发现的类似警告:

警告:您的内核不支持内存交换功能,内存交换被丢弃。

经过一番谷歌搜索后,我找到了check-config脚本来检查我的系统/内核是否设置为正确运行 Docker。大多数内容被报告为“绿色”,但以下内容被报告为“红色”:

Optional Features:
- CONFIG_USER_NS: enabled
- CONFIG_SECCOMP: enabled
- CONFIG_CGROUP_PIDS: enabled
- CONFIG_MEMCG_SWAP: enabled
- CONFIG_MEMCG_SWAP_ENABLED: missing <===== 

- CONFIG_RT_GROUP_SCHED: missing <=====

  - "zfs":
    - /dev/zfs: missing <==== 
    - zfs command: missing <==== 
    - zpool command: missing <==== 
Run Code Online (Sandbox Code Playgroud)

更多谷歌搜索让我找到了这篇文章。我按照那里给出的说明进行操作,并将以下参数附加到 grub 配置/命令行后重新启动了内核:

cgroup_enable=memory swapaccount=1
Run Code Online (Sandbox Code Playgroud)

现在,当我运行 docker 命令时,-m 1800m我没有看到该警告,这很好。然而check-config脚本仍然以红色显示相同的内容!这很令人困惑。check-config脚本没有报告正确的事情吗?我的系统仍然没有正确设置吗?docker 命令是否仅显示一次警告?

在将服务器部署到生产环境之前,如何确保已正确设置?