【问题标题】:Run the sshd with supervisord in a docker ubuntu container with non root user在非 root 用户的 docker ubuntu 容器中使用 supervisord 运行 sshd
【发布时间】:2020-07-28 05:35:14
【问题描述】:

在非 root 用户的 docker 容器中使用 supervisord 运行 sshd。

我正在使用 root 用户运行 supervisord。它工作正常。 自从我们开始使用最佳实践重写我们的 docker 文件。

我们想在 docker 容器中使用非 root 用户的 supervisord 启动 sshd 进程。

帮我解决这个问题。

【问题讨论】:

    标签: docker devops supervisord sshd


    【解决方案1】:

    一个 ssh 守护进程本质上需要 root 级别的访问权限才能读取加密的密码文件并能够切换到经过身份验证的用户。您不能以非 root 用户身份运行它。如果一个 supervisord 进程正在启动它,这意味着 supervisord 也必须以 root 身份运行。

    如果您的目标是 Docker 最佳实践,标准容器很少运行 ssh 守护进程,您通常应该只在一个容器中运行一个主进程。如果可以的话,我会尝试同时删除 sshd 和 supervisord,并将容器限制为仅运行单个应用程序进程。您通常可以只运行 Nginx,或者只运行一个 Flask 应用程序,或者......作为非 root 用户运行,而不会有太多麻烦。

    【讨论】:

    • 感谢@David 的回答。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-18
    • 1970-01-01
    相关资源
    最近更新 更多