我正在尝试运行 Python CGI 脚本,在其中需要运行 docker 镜像。
我使用的是 Docker 版本 1.6.2。用户是“www-data”,添加到docker组中。
www-data : www-data sudo docker
在机器上,使用 www-data 我可以执行 docker 命令
www-data@mytest:~/html/new$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
从 Python CGI 脚本运行 docker 映像时出现以下错误:
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?"
我在这里缺少什么吗?
默认安装时权限被拒绝表示您正在尝试从 root 以外的用户或不在 docker 组中的用户访问套接字。您应该能够运行:
sudo usermod -a -G docker $username
在您想要的 $username 上将它们添加到组中。您需要注销并重新登录才能生效(使用newgrp docker
在现有的 shell 中,或者重新启动守护进程(如果这是像 cgi 脚本一样访问 docker 的外部服务)。
请注意,这样做可以有效地为该用户提供主机上的完全 root 访问权限,因此请小心执行此操作。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)