Поиск по сайту:

[Решено] Получил отказ в разрешении при попытке подключения к сокету демона Docker


Эта подробная статья по устранению неполадок поможет вам исправить ошибку отказа в разрешении с помощью Docker в Ubuntu и других дистрибутивах Linux на базе Ubuntu.

Недавно я установил Docker в Ubuntu. Это было очень легко. Но когда я попытался запустить команду Docker, у меня возникла такая ошибка:

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/containers/json: dial unix /var/run/docker.sock: connect: permission denied

Это не значит, что я пытаюсь запустить что-то особенное. Это происходит и с базовой командой docker, такой как ps.

Странно, не так ли? Позвольте мне показать вам, как обойти эту досадную ошибку.

Исправление ошибки «Получено отказано в разрешении при попытке подключения к сокету демона Docker» с помощью Docker в Ubuntu

Есть два способа справиться с этим.

Исправление 1. Запустите все команды Docker с помощью sudo.

Если у вас есть доступ к sudo в вашей системе, вы можете запускать каждую команду docker с помощью sudo, и вы больше не увидите сообщение «Получено отказано в разрешении при попытке подключения к сокету демона Docker».

sudo docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                    PORTS               NAMES
13dc0f4226dc        ubuntu              "bash"              17 hours ago        Exited (0) 16 hours ago                       container-2
2d9a8c190e6c        ubuntu              "/bin/bash"         17 hours ago        Created                                       container-1

Но запускать каждую команду докера с помощью sudo очень неудобно. Если вы пропустите добавление sudo в начало, вы снова получите сообщение об ошибке «отказано в доступе».

Исправление 2. Запуск команд Docker без sudo.

Чтобы запускать команды Docker без sudo, вы можете добавить свою учетную запись пользователя (или учетную запись, для которой вы пытаетесь решить эту проблему) в группу Docker.

Сначала создайте группу докеров с помощью команды groupadd. Возможно, группа уже существует, но запуск команды создания группы не помешает.

sudo groupadd docker

Теперь, когда у вас есть группа Docker, добавьте своего пользователя в эту группу с помощью команды usermod. Я предполагаю, что вы пытаетесь сделать это для своей собственной учетной записи пользователя, и в этом случае вы можете использовать переменную $USER.

sudo usermod -aG docker $USER

Убедитесь, что ваш пользователь добавлен в группу Docker, перечислив пользователей группы. Вероятно, вам придется выйти из системы и войти снова.

abhishek@linux-console:~$ groups
abhishek adm cdrom sudo dip plugdev lpadmin sambashare docker

Если вы проверите свои группы и группы Docker не отображаются в списке даже после выхода из системы, возможно, вам придется перезапустить Ubuntu. Чтобы избежать этого, вы можете использовать команду newgrp следующим образом:

newgrp docker

Теперь, если вы попытаетесь запустить команды Docker без sudo, все должно работать нормально.

Дальнейшее устранение неполадок

В некоторых случаях вам может потребоваться добавить дополнительные разрешения для некоторых файлов, особенно если в прошлом вы запускали команды Docker с помощью sudo.

Вы можете попробовать изменить групповое владение файлом /var/run/docker.sock.

sudo chown root:docker /var/run/docker.sock

Вы также можете попробовать изменить групповое владение каталогом ~/.docker.

sudo chown "$USER":"$USER" /home/"$USER"/.docker -R
sudo chmod g+rwx "$HOME/.docker" -R

А затем попробуйте запустить Docker с помощью sudo. Все должно быть в порядке.

Я надеюсь, что это небольшое руководство помогло вам исправить раздражающее сообщение «Получено отказано в разрешении при попытке подключения к сокету демона Docker по адресу unix:///var/run/docker.sock: Получите http://%2Fvar%2Frun». %2Fdocker.sock/v1.39/containers/json: наберите unix /var/run/docker.sock: Connect: разрешение отклонено »ошибка с Docker в Ubuntu.

Это решило проблему для вас? Если да, я приветствую быстрый комментарий от вас. Если нет, то я буду рад помочь вам решить эту проблему дальше.

Статьи по данной тематике: