Docker отказано в разрешении на вход в систему и все, что я пытаюсь - PullRequest
1 голос
/ 07 января 2020

Я новичок в 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 

Редактировать:

Запуск docker с помощью sudo выдает следующую ошибку:

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

После выполнения команд у меня теперь есть группа docker, и я был добавлен в группу. Ошибка следующая

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.

Ответы [ 3 ]

1 голос
/ 08 января 2020

Поэтому, спросив в чате popOS, я узнал, что мне нужно обновить хотя бы до popOS 19.10 и что мне нужно установить docker с помощью следующей команды

sudo apt install docker.io

Мне также сказали установите контейнер nvidia для возможности использования gpu с помощью следующей команды

sudo apt install nvidia-container-runtime

После этого у меня работает docker.

(Отдельное спасибо @mmstick из чата popOS за советы)

0 голосов
/ 01 апреля 2020

У меня возникла такая же проблема при установке docker через Snap на Manjaro. Root пользователь внутри контейнеров, похоже, не имеет прав доступа к каким-либо файлам.

После нескольких часов поиска в Google я решил установить docker, используя менеджер пакетов вместо Snap.

0 голосов
/ 07 января 2020

Похоже, что ваш пользователь на хост-компьютере не имеет разрешения на использование механизма docker (или сокета? Не уверен, что разница).

Вы можете проверить это, используя group для просмотра в какие группы входит ваш пользователь. Вы должны увидеть «docker» в качестве одной из групп.

Если нет, то это ваша проблема.

Вы можете добавить своего пользователя в группу docker (которая предоставляет разрешения для используйте механизм docker), выполнив команду

usermod -a -G docker my_user

. Это добавит группу docker в качестве дополнительной группы для вашего пользователя.

После этого может быть хорошей идеей перезапустите двигатель docker, набрав:

sudo systemctl restart docker
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...