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

标签 php docker permissions phpstorm file-permissions

我有一个 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/

相关文章:

php - MySQL 使用 PHP 将 DATETIME 更新为 NOW()

docker - Jenkins触发时如何解决Docker权限错误

ios - 如果我的应用仅以只读方式访问联系人数据,我是否需要请求读取联系人数据的权限?

linux - 无法写入我所属组的文件夹

php - 从数组中动态加载 mysql 表字段

php - 将另一个表列添加到通过外键链接的查询的结果中

php - 将 SQL 查询的 SELECT 子句解析为 PHP 数组

docker - 如何使用 gitlab-ci 在 docker 内构建 archlinux pkgbuild

docker - 在现有奴隶上使用 docker 的 Jenkins 管道

php - 如何在流明框架中获取中间件的当前路线?