В этой статье я покажу вам, как ввести команду docker без использования команды sudo на машине Ubuntu Linux.
Если вы используете Docker для тестирования и разработки на вашем локальном компьютере, вы, вероятно, испытали это
# docker run hello-world 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.27/containers/json: dial unix /var/run/docker.sock: connect: permission denied
Вероятно, вы обойдете это, используя sudo перед командой docker или зарегистрируясь как root, используя su.
Но этого не должно быть.
Можно работать как обычный пользователь, и есть два пути.
Один заключается в том, чтобы добавить пользователя в группу докеров, а другой – разрешить ему писать в сокет Unix, используемый докером.
Мы собираемся показать оба способа сделать это в новом Ubuntu 18.04 в этой статье.
1) Добавление пользователя в группу Docker
Создайте новую группу, если она не существует.
Эта команда, скорее всего, не удастся, поскольку группа, возможно, уже существует, но давайте ее запустим ее в любом случае.
# sudo groupadd docker
Затем нам нужно добавить текущего пользователя в группу.
# sudo gpasswd -a $USER docker
Если вы не хотите добавлять текущего пользователя в систему, то вместо этого вы меняете $ USER для имени пользователя этого юзера.
Обратите внимание, что пользователю должно быть разрешено использовать sudo.
Наконец, нам нужно перезагрузить оболочку, чтобы применить новые групповые настройки.
Для этого вы можете перезагрузиться, или вы можете выйти из системы и войти в систему, но оба они подходят,если вы действительно хотите что-то более тонкое вместо этого выполните эту команду:
# newgrp docker
Теперь мы готовы запустить программу тестирования докеров без sudo:
# docker run hello-world Unable to find image 'hello-world:latest' locally latest: Pulling from library/hello-world ca4f61b1923c: Pull complete Digest: sha256:97ce6fa4b6cdc0790cda65fe7290b74cfebd9fa0c9b8c38e979330d547d22ce1 Status: Downloaded newer image for hello-world:latest Hello from Docker! This message shows that your installation appears to be working correctly.
2) ACL лист
Существует еще один способ сделать это, и это списки ACL.
Чтобы войти в систему как пользователь sudoer, нам нужно запустить эту команду:
# sudo setfacl -m user:bobby:rw /var/run/docker.sock
Конечно же,измените bobby нп своего фактического пользователя, которого вы хотите использовать в докере.
Теперь вы можете войти в систему как этот пользователь.
# su bobby
Теперь мы можем использовать докер, например, введите эту команду:
# docker ps
Он должен отображать контейнеры, если у вас они есть.
Если нет, по крайней мере, это не покажет вам отказ
спасибо, друг, ты спас мои нервные клетки
Всегда пожалуйста 🙂
СПАСИБО! Помог второй вариант с ACL листами
Всегда рады!
Спасибо!Помогло
Всегда рады помочь!
Спасибо!
Всегда рады помочь!
Спасибо Большое)
Всегда рады помочь!
Первое не помогло, вот это помогло:
sudo chmod ug+s /usr/bin/docker
Спасибо большое, помог первый способ, второй даже не пробовал
Всегда рады помочь!
Спасибо огромное, помог первый способ, теперь на 4 символа меньше вводить)
Всегда рады помочь