docker 来自 php 的 运行 权限被拒绝

docker permission denied running from php

我正在 运行 宁一个 php 脚本,其中 运行 一个 exec() 函数到 运行 一个 docker 容器。

我通过 php 回复我的用户

exec("whoami  2>&1",$out);
                            var_dump($out);

显示守护进程。 我要 运行 的代码是:

exec("docker run --rm -d -i -t -v ".$targetPath.":/user threed sh /user/test.sh 2>&1",$out);
                            var_dump($out);

但我得到的错误是

string(237) "docker: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.38/containers/create: dial unix /var/run/docker.sock: connect: permission denied."   [2]=>   string(24) "See 'docker run --help'. "

谁能帮我从我的 php 脚本中找到 运行 docker 容器。

问题与用户 运行 您的 PHP 代码有关。 首先你需要确定哪个用户是 运行 PHP 代码。是你的用户吗,是php-fpm吗? www数据? 之后,您需要将该用户添加到 docker 用户组。更多信息请参见以下 link:https://docs.docker.com/install/linux/linux-postinstall/