📅  最后修改于: 2023-12-03 14:58:43.984000             🧑  作者: Mango
Docker是一个常见的容器化平台,可以让你将应用程序和其所需的环境打包到一个可移植的容器中。然而,Docker默认情况下会使用root用户来运行所有的容器,这可能会导致安全漏洞和其他问题。因此,建议使用非Docker Root用户来运行容器。
首先你需要在主机上创建一个新的非root用户,可以使用以下命令创建:
sudo useradd -r -s /bin/false myuser
其中,-r
选项表示创建的用户是系统用户,-s /bin/false
选项表示用户不能登录,只能作为服务账户来使用。替换myuser
为你要创建的用户名。
编辑Docker服务配置文件/etc/docker/daemon.json
并添加以下内容:
{
"userns-remap": "myuser"
}
其中myuser
为你在第一步中创建的非root用户。
sudo systemctl daemon-reload
sudo systemctl restart docker
运行以下命令测试是否使用了非root用户:
docker run --rm --name test -it alpine id
正常情况下,你将看到输出类似于以下内容:
uid=987(myuser) gid=987(myuser) groups=987(myuser)