我有一个 docker 容器,里面有 PHP-FPM 和 www-data
用户。我有一个将我的本地应用程序映射到 /var/www/html
的卷。目录。我找到了 www-data
的 UID (比方说 33)。在我的本地机器上,我将应用程序目录更改为 33:hostuser,其中 33 是 Docker 中的 www-data 用户,hostuser 是我在主机上所属的组。现在 PHP-FPM 可以在应用程序中写入日志等,我可以在本地写入文件。
现在是棘手的部分:我正在努力让 PhpStorm 运行 PHPUnit 测试,并且我正在将 docker 容器设置为 PHP 的远程解释器。换句话说,PhpStorm 会 HHS 进入容器并运行测试。所以现在我需要在容器中创建一个可以通过 SSH 访问的新用户。现在的问题是:这个新用户不是应用程序目录的所有者(www-data 是),并且该组不属于容器内的任何人。
我会以正确的方式解决这个问题吗?如果是这样,让所有 3 个用户都可以访问容器的最佳方法是什么?我正在考虑为 www-data 用户启用 SSH,但我无法让它工作,而且我不确定这是一个好主意。
最佳答案
如in this example , 你可以定义一个 www-data
用户(不仅仅是组),然后您可以使用它来 ssh (这意味着您将添加 ~www-data/.ssh/authorized-keys
您的公钥)
# ensure www-data user exists
RUN set -x ; \
addgroup -g 33 -S www-data ; \
adduser -u 33 -D -S -G www-data www-data && exit 0 ; exit 1
关于php - 除了 docker 容器中的两个用户之外,如何为我的桌面 Ubuntu 机器的用户授予对 docker 卷的完全权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41009093/