我是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.
似乎您的主机上的用户无权使用docker引擎(或套接字?不确定是否有区别)。
您可以使用group
进行验证,以查看您的用户属于哪个组。您应该将“ docker”视为其中一个组。
如果没有,那是你的问题。
您可以通过执行以下操作将您的用户添加到docker组(该组提供使用docker引擎的权限)
usermod -a -G docker my_user
这会将docker组作为辅助组添加到您的用户。
此后,最好使用以下命令重启docker引擎:
sudo systemctl restart docker
因此,在询问popOS聊天之后,我发现我需要至少更新到popOS 19.10,并且需要使用以下命令安装docker
sudo apt install docker.io
我还被告知要安装nvidia容器,以便能够通过以下命令使用gpu
sudo apt install nvidia-container-runtime
那个码头工人为我工作。
(特别感谢来自popOS聊天室的@mmstick的提示)