Разрешение, отклоненное при выполнении Докера после установки его как Снимок

Я установил Докера через хранилище программного обеспечения, которое указало, что был Поспешный пакет. Который меня устраивает, я предполагаю, но к сожалению, каждая команда 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.30/info: dial unix /var/run/docker.sock: connect: permission denied

Какая-либо идея, как зафиксировать это?

Править: Я работал вокруг этого на данный момент путем установки Докера из собственных репозиториев Докера, которые могли бы работать на людей, просматривающих этот вопрос в будущем также. Я оставляю вопрос открытым для тех, кто хочет смочь выполнить его из Снимка, все же.

33
задан 3 October 2017 в 02:30

5 ответов

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

Временное решение

Используйте sudo команда для выполнения команд с поднятыми полномочиями каждый раз.

Постоянное (предложенное) решение

Добавьте текущего пользователя к docker группа. Это может быть достигнуто путем ввода

sudo usermod -a -G docker $USER

Необходимо выйти из системы и войти в систему снова, чтобы состав группы вступил в силу.

Источник: techoverflow.net

31
ответ дан 23 November 2019 в 00:33

Это от страницы GitHub, сделал Вы пробуете эти точные шаги:

If you are using Ubuntu Core 16,

Connect the docker:home plug as it's not auto-connected by default:

$ sudo snap connect docker:home

If you are using an alternative snap-compatible Linux distribution ("classic" in snap lingo), and would like to run docker as a normal user:

Create and join the docker group.

$ sudo addgroup --system docker
$ sudo adduser $USER docker
$ newgrp docker

You will also need to disable and re-enable the docker snap if you added the group while it was running.

$ sudo snap disable docker
$ sudo snap enable docker

От Докера привязывают GitHub

33
ответ дан 23 November 2019 в 00:33

Необходимо добавить пользователя к группе Докера (см. официальные документы).

Можно добавить sudo перед командой или можно включить пользователя docker группа при помощи этой команды:

sudo usermod -aG docker <USER>

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

1
ответ дан 23 November 2019 в 00:33

Я принимаю, Ваше имя пользователя уже находится в группе докера. Для проверки этого выйдите ниже команды.

id -nG

Если не необходимо добавить пользователя в группу докера ниже команды.

sudo groupadd docker
sudo usermod -aG docker $USER

Когда Вы выполняете команду, sudo systemctl start docker, это создает процесс докера. Тот процесс докера содержит dockerd поток демона. Команда также создает значение по умолчанию docker.sock Сокет Unix. docker.sock сокетом непрерывно слушают dockerd поток демона. Это делает, можно сделать уровень ядра IPC с docker.pid процесс. Чтобы смочь использовать этот сокет докера, у Вас должны быть верные полномочия от уровня процесса (docker.pid) и уровень файла (docker.sock). Так, выполнение ниже двух команд должно решить Вашу проблему. sudo chmod a+rwx /var/run/docker.sock # You can provide just execute permission sudo chmod a+rwx /var/run/docker.pid

6
ответ дан 23 November 2019 в 00:33
sudo setfacl -m user:your_user_name:rw /var/run/docker.sock

не требует перезапуска и более безопасен

3
ответ дан 23 November 2019 в 00:33

Другие вопросы по тегам:

Похожие вопросы: