在虚拟环境中使用 docker 命令失败

Using docker commands failed in virtual environment

我正在使用 ubuntu 安装了 xenial docker。然后我为我的 python 项目创建了虚拟环境,但是 docker 命令无法 运行。错误是:

运行宁docker info


Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.39/info: dial unix /var/run/docker.sock: connect: permission denied

运行宁docker docker build -t dockerhub.domain.com .

ERRO[0000] failed to dial gRPC: cannot connect to the Docker daemon. Is 'docker daemon' running on this host?: dial unix /var/run/docker.sock: connect: permission denied 
context canceled

它不想 运行 使用 sudo 执行这些命令,因为我已将我的用户添加到 docker。我可以在虚拟环境之外执行 运行 docker 命令,但在环境中却失败了。有帮助吗?


编辑:

创建 venv 是通过以下方式完成的:

conda create --name myenv

并且我已经通过这种方式添加了我的用户:

sudo usermod -aG docker ${USER}

id -nG 的输出(my_user 是我的用户名)

my_user adm cdrom sudo dip plugdev lpadmin sambashare

使用usermod命令,只有退出再登录(或者使用source命令)才会生效

之后,id -nG 打印这些组:(my_user 是我的用户名)

my_user adm cdrom sudo dip plugdev lpadmin sambashare docker

一切正常。