我有一个拥有PHP-FPM的docker容器,其中包含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 is),并且该组不属于容器内的任何人。
我是以正确的方式来做这件事的吗?如果是这样,那么让所有3个用户都可以访问容器的最佳方式是什么?我正在考虑为www-data用户启用SSH,但是我无法让它工作,而且我不确定它是不是一个好主意。
答案 0 :(得分:0)
作为in this example,您可以定义一个~www-data/.ssh/authorized-keys
用户(不仅仅是组),然后您可以使用它来进行ssh(意味着您将添加{{1}你的公钥)
# 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