Docker权限在登录时被拒绝,我尝试的所有操作

问题描述 投票:0回答:2

我是docker的新手,我尝试或未找到的所有东西都被拒绝权限。我无法将任何东西安装到任何Docker容器,并且似乎没有任何作用。我看过其他人,似乎没人知道为什么每个Docker容器都无法为我工作。这是一个例子:

sudo docker run -it ubuntu
[sudo] password for user: 
bash: /root/.bashrc: Permission denied
root@ac9449598270:/# vi test.txt
bash: vi: command not found
root@ac9449598270:/# apt-get install vim
W: Unable to read /etc/apt/apt.conf.d/01-vendor-ubuntu - open (13: Permission denied)
W: Unable to read /etc/apt/apt.conf.d/01autoremove - open (13: Permission denied)
W: Unable to read /etc/apt/apt.conf.d/01autoremove-kernels - open (13: Permission denied)
W: Unable to read /etc/apt/apt.conf.d/70debconf - open (13: Permission denied)
W: Unable to read /etc/apt/apt.conf.d/docker-autoremove-suggests - open (13: Permission denied)
W: Unable to read /etc/apt/apt.conf.d/docker-clean - open (13: Permission denied)
W: Unable to read /etc/apt/apt.conf.d/docker-gzip-indexes - open (13: Permission denied)
W: Unable to read /etc/apt/apt.conf.d/docker-no-languages - open (13: Permission denied)
E: Error reading the CPU table 

编辑:

使用sudo运行docker会产生以下错误:

docker run -it ubuntu
docker: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.39/containers/create: dial unix /var/run/docker.sock: connect: permission denied.
See 'docker run --help'.

编辑2:我在PopOS上。它在系统76机器上。我曾尝试以root身份运行,但这无济于事。

编辑3:打字组显示

groups
user adm sudo

因此,按照@ alex067的建议,我使用以下命令添加了docker组

sudo groupadd docker
sudo usermod -a -G docker user

运行命令后,我现在有一个码头工人组,并且我已被添加到该组中。错误如下

sudo docker run -it ubuntu
bash: /root/.bashrc: Permission denied
root@a7a80c8426db:/# apt update
W: Unable to read /etc/apt/apt.conf.d/01-vendor-ubuntu - open (13: Permission denied)
W: Unable to read /etc/apt/apt.conf.d/01autoremove - open (13: Permission denied)
W: Unable to read /etc/apt/apt.conf.d/01autoremove-kernels - open (13: Permission denied)
W: Unable to read /etc/apt/apt.conf.d/70debconf - open (13: Permission denied)
W: Unable to read /etc/apt/apt.conf.d/docker-autoremove-suggests - open (13: Permission denied)
W: Unable to read /etc/apt/apt.conf.d/docker-clean - open (13: Permission denied)
W: Unable to read /etc/apt/apt.conf.d/docker-gzip-indexes - open (13: Permission denied)
W: Unable to read /etc/apt/apt.conf.d/docker-no-languages - open (13: Permission denied)
E: Error reading the CPU table
root@a7a80c8426db:/# 

我也试图重新启动docker并收到以下错误

sudo systemctl restart docker
Failed to restart docker.service: Unit docker.service not found.
linux docker ubuntu
2个回答
0
投票

似乎您的主机上的用户无权使用docker引擎(或套接字?不确定是否有区别)。

您可以使用group进行验证,以查看您的用户属于哪个组。您应该将“ docker”视为其中一个组。

如果没有,那是你的问题。

您可以通过执行以下操作将您的用户添加到docker组(该组提供使用docker引擎的权限)

usermod -a -G docker my_user

这会将docker组作为辅助组添加到您的用户。

此后,最好使用以下命令重启docker引擎:

sudo systemctl restart docker

0
投票

因此,在询问popOS聊天之后,我发现我需要至少更新到popOS 19.10,并且需要使用以下命令安装docker

sudo apt install docker.io

我还被告知要安装nvidia容器,以便能够通过以下命令使用gpu

sudo apt install nvidia-container-runtime

那个码头工人为我工作。

(特别感谢来自popOS聊天室的@mmstick的提示)

© www.soinside.com 2019 - 2024. All rights reserved.