使用 docker 客户端在 python 中设置新容器时权限被拒绝错误

Posted

技术标签:

【中文标题】使用 docker 客户端在 python 中设置新容器时权限被拒绝错误【英文标题】:Error of permission denied while running setting new container in python using docker client 【发布时间】:2020-12-26 16:06:03 【问题描述】:

我有这个非常简单的 python 脚本(在 pycharm 上),我通过从集线器中拉出它来设置“nginx”服务器,这是我的代码:

import docker
import requests

client = docker.from_env()
img = client.images.pull('nginx:latest')
client.containers.run(img, detach=True, ports='80/tcp': 8080)

r = requests.get('http://localhost:8080')

print(r.status_code)

我收到以下错误: docker.errors.DockerException: Error while fetching server API version: ('Connection aborted.', error(13, 'Permission denied'))

当我通过终端使用“ipython”运行此代码时,我没有收到任何错误,一切都按预期工作。

我尝试使用网络寻找解决方案,但没有成功。

【问题讨论】:

【参考方案1】:

尝试将当前用户添加到您的用户组

sudo groupadd docker
sudo usermod -aG docker $USER

更多信息https://docs.docker.com/engine/install/linux-postinstall/

【讨论】:

以上是关于使用 docker 客户端在 python 中设置新容器时权限被拒绝错误的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Docker 容器中设置静态 IP 地址?

在远程服务器上的 docker 容器中设置本地 PyCharm 远程解释器

在 python thrift 客户端中设置套接字的连接和读取超时

如何在 GCP 中设置与 MongoDB Docker 容器的连接

如何在 docker 容器中设置 flask-socketio?

如何在 Debian/Ubuntu Docker 容器中设置语言环境?