Как использовать Docker без sudo на Ubuntu |

Как использовать Docker без sudo на Ubuntu

Мануал

В этой статье я покажу вам, как ввести команду 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 

Он должен отображать контейнеры, если у вас они есть.

Если нет, по крайней мере, это не покажет вам отказ

 

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий для Сергей Отменить ответ

  1. Андрей

    спасибо, друг, ты спас мои нервные клетки

    Ответить
    1. cryptoparty автор

      Всегда пожалуйста 🙂

      Ответить
  2. Петр

    СПАСИБО! Помог второй вариант с ACL листами

    Ответить
    1. cryptoparty автор

      Всегда рады!

      Ответить
  3. Викаин

    Спасибо!Помогло

    Ответить
    1. cryptoparty автор

      Всегда рады помочь!

      Ответить
  4. Евгений

    Спасибо!

    Ответить
    1. cryptoparty автор

      Всегда рады помочь!

      Ответить
  5. Вургун

    Спасибо Большое)

    Ответить
    1. cryptoparty автор

      Всегда рады помочь!

      Ответить
  6. Аретм

    Первое не помогло, вот это помогло:
    sudo chmod ug+s /usr/bin/docker

    Ответить
  7. Сергей

    Спасибо большое, помог первый способ, второй даже не пробовал

    Ответить
    1. cryptoparty автор

      Всегда рады помочь!

      Ответить
  8. Мирон

    Спасибо огромное, помог первый способ, теперь на 4 символа меньше вводить)

    Ответить
    1. cryptoparty автор

      Всегда рады помочь

      Ответить