[Ubuntu] Настройки и меры предосторожности при запуске докера без команды sudo

2019 год 10 месяц 3 день

Замечание о том, как включить докер без sudo при использовании докера в Ubuntu.

Курок

После установки докера, как естьsudoКогда я проверил работу без команды, произошла ошибка.

# Запустить из докера терминала Ubuntu запустить hello-world 

docker: Отказано в разрешении при попытке подключиться к сокету демона Docker в unix: ///var/run/docker.sock: Сообщение http: //%2Fvar%2Frun%2Fdocker.sock/v1.39/containers/create: наберите unix /var/run/docker.sock: connect: в доступе отказано. См .'docker run –help '.

Похоже, что доступ к демону докеров был запрещен. Я набрал sudo docker run hello-world, и это сработало.

Причина ошибки видимо в следующих причинах.

Docker взаимодействует с демоном (dockerd), работающим с привилегиями root, через сокет unix или tcp / ip, но вам нужно принадлежать к группе docker или иметь привилегии root для доступа к dockerd.

Понять опасность добавления пользователей в группу докеров с помощью Docker

Добавляя команду sudo, обычные пользователи могут выполнять команды, которые не могут быть выполнены без привилегий root (например, подключение к демону).Но добавлять sudo каждый раз утомительно.

Контрмеры и меры предосторожности

Один из способов работать без sudo - сделать пользователя принадлежащим к группе dokcer (часто в Google), но, похоже, это также проблема безопасности.

Ссылка: Риск при предоставлении root-подобных привилегий в группе docker (официальный документ)

Если вы хотите использовать докер без sudo, newgrp Говорят, что лучше временно принадлежать к группе или пользовательскому пространству имён.

sudo groupadd docker # $ USER с именем пользователя sudo usermod -aG docker $ USER newgrp docker docker run hello-world 

Привет из Докера!
Это сообщение показывает, что ваша установка работает правильно.

Чтобы сгенерировать это сообщение, Docker предпринял следующие шаги:

1. Клиент Docker связался с демоном Docker.
2. Демон Docker вытащил образ «hello-world» из Docker Hub.
(амд64)
3. Демон Docker создал новый контейнер из этого образа, который запускает
исполняемый файл, который производит вывод, который вы в данный момент читаете.
4. Демон Docker передал эти выходные данные клиенту Docker, который отправил их.
к вашему терминалу.

Чтобы попробовать что-то более амбициозное, вы можете запустить контейнер Ubuntu с помощью:
$ docker run - это ubuntu bash

Делитесь изображениями, автоматизируйте рабочие процессы и многое другое с бесплатным идентификатором Docker: https://hub.docker.com/

Для получения дополнительных примеров и идей посетите:
https://docs.docker.com/get-started/