/var/run/docker.sock:在Python CGI脚本中运行docker时拒绝权限 [英] /var/run/docker.sock: permission denied while running docker within Python CGI script

查看:95
本文介绍了/var/run/docker.sock:在Python CGI脚本中运行docker时拒绝权限的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试运行需要在其中运行docker image的Python CGI脚本。
我正在使用Docker版本1.6.2。用户是 www-data,添加到docker组中。

I am trying to run Python CGI script inside which I need to run docker image. I am using Docker version 1.6.2. user is "www-data", which is added in docker group.

www-data : www-data sudo docker 

在具有www数据的计算机上,我能够执行docker命令

On machine, with www-data I am able to execute docker commands

www-data@mytest:~/html/new$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

从Python CGI脚本运行docker image时出现以下错误:

I am getting following error while running docker image from Python CGI script:

fatal msg="Get http:///var/run/docker.sock/v1.18/images/json: dial unix /var/run/docker.sock: permission denied. Are you trying to connect to a TLS-enabled daemon without TLS?" 

这里有什么我想念的吗?

Is there anything I am missing here?

推荐答案

默认安装上的权限被拒绝表示您尝试从root用户以外的用户或不在docker组中的用户访问套接字。您应该能够运行:

Permission denied on a default install indicates you are trying to access the socket from a user other than root or that is not in the docker group. You should be able to run:

sudo usermod -a -G docker $username

您想要的$ username上将它们添加到组中。您需要注销然后重新登录才能生效(在现有shell中使用 newgrp docker ,或者如果这是一个外部服务,如您的外部访问docker,则重新启动守护程序。 cgi脚本)。

on your desired $username to add them to the group. You'll need to logout and back in for this to take effect (use newgrp docker in an existing shell, or restart the daemon if this is an external service accessing docker like your cgi scripts).

请注意,这样做可以有效地使该用户在您的主机上具有完全的root访问权限,因此请谨慎操作。

Note that doing this effectively gives that user full root access on your host, so do this with care.

这篇关于/var/run/docker.sock:在Python CGI脚本中运行docker时拒绝权限的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆