在虚拟环境中使用 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
一切正常。
我正在使用 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
一切正常。