我是容器方面的新手,正在使用 Alpine3.4 容器在 ubuntu-16.04 主机上摆弄 LXD-2.0。问题:
- 如何用非root用户打开容器的控制台?
lxc exec mycontainer bash
这会让我以 root 身份直接进入容器。但是,当我打开控制台时,我首先想成为非 root 用户。
- 像我们通常在非容器环境中那样,以非 root 用户身份在容器内运行应用程序是一种最佳实践吗?(即使容器是在“非特权”模式下启动的)。
答案1
- exec 将以 root 身份执行命令。但是,当然,由于作为 root,您可以通过 su 命令以任何用户身份“登录”,因此您可以执行 su:
lxc exec mycontainer su-mortaluser
另一种方法是安装 sshd 并使用 ssh 命令登录容器,就像登录任何其他服务器一样。
- 将容器视为普通服务器并仅在需要时通过例如“sudo”提升您的权限确实是一种很好的做法。