除了docker容器中的两个用户之外,如何将我的桌面Ubuntu计算机用户的完全权限授予docker卷?

时间:2016-12-07 03:49:39

标签: php docker permissions phpstorm file-permissions

我有一个拥有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,但是我无法让它工作,而且我不确定它是不是一个好主意。

1 个答案:

答案 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