【问题标题】:docker permission denied running from phpdocker权限被拒绝从php运行
【发布时间】:2019-07-27 13:26:29
【问题描述】:

我正在运行一个运行 exec() 函数来运行 docker 容器的 php 脚本。

我通过 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 容器。

【问题讨论】:

  • 我试过但是 sudo chown "$USER":"$USER" /home/"$USER"/.docker -R sudo chmod g+rwx "/home/$USER/.docker" - R 用什么代替用户??
  • 可能感兴趣的是看看github.com/docker-php/docker-php。这为 PHP 带来了一个 API,允许您控制 Docker。
  • nos 它给我的应用增加了很多负担
  • 是的,那部分已经消失了,我阅读了官方文档,上面写着要解决这个问题,要么删除 ~/.docker/ 目录(它会自动重新创建,但所有自定义设置都会丢失),

标签: php docker exec


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2022-01-18
    • 2020-06-26
    • 2021-10-18
    • 2023-03-22
    • 1970-01-01
    • 1970-01-01
    • 2020-08-31
    • 2021-11-05
    • 2016-11-16
    相关资源
    最近更新 更多