如何设置modprobe overlay permit_mounts_in_userns=1?

How to set modprobe overlay permit_mounts_in_userns=1?

在 Debian 上尝试将 Docker 守护程序设置为 运行 作为非根用户(无根模式)时,我遇到了以下问题。

the documentation 所述,这些是 Debian GNU/Linux 需要遵循的步骤:


据此我可以组成以下命令运行(作为 root 用户):

  1. 配置sysctl的命令,根据第一个要点:
    echo "kernel.unprivileged_userns_clone=1" > /etc/sysctl.d/10-docker.conf \
    && sysctl --system
    
  2. 配置modprobe的命令,根据第一个要点:
    echo "overlay permit_mounts_in_userns=1" > /etc/modprobe.d/10-docker.conf \
    && modprobe overlay permit_mounts_in_userns=1
    

第一步似乎工作正常,但是当 运行从第 2 步执行命令时,我最终遇到以下错误:

libkmod: ERROR ../libkmod/libkmod-config.c:656 kmod_config_parse: /etc/modprobe.d/10-docker.conf line 1: ignoring bad line starting with 'overlay'

/etc/modprobe.d/10-docker.conf 中删除“overlay”似乎都没有解决导致以下错误的问题:

libkmod: ERROR ../libkmod/libkmod-config.c:656 kmod_config_parse: /etc/modprobe.d/10-docker.conf line 1: ignoring bad line starting with 'permit_mounts_in_userns=1'

我试图搜索一些关于如何设置此配置的说明。但是没有运气,有人知道吗?

根据 #debian 频道中 freenode IRC 上的 jelly,缺少 options 关键字,因此这应该是正确的命令:

echo "options overlay permit_mounts_in_userns=1" > /etc/modprobe.d/10-docker.conf