Post-installation steps | Docker
Запуск Docker от имени пользователя без прав root
Демон Docker привязывается к сокету Unix, а не к TCP-порту. По умолчанию этот сокет Unix принадлежит пользователю root, и другие пользователи могут получить к нему доступ только с помощью sudo. Демон Docker всегда работает от имени пользователя root.
Если вы не хотите начинать команду docker с sudo, создайте группу Unix под названием docker и добавьте в неё пользователей. При запуске демона Docker он создаёт сокет Unix, доступный участникам группы docker .
Предупреждение Группаdockerпредоставляет привилегии, эквивалентные привилегиям пользователяroot. Подробнее о том, как это влияет на безопасность вашей системы, см. в разделе Уязвимость демона Docker.
Примечание:Чтобы запустить Docker без прав суперпользователя, см. Запуск демона Docker от имени пользователя без прав суперпользователя (режим без прав суперпользователя).Режим без root-доступа в настоящее время доступен в качестве экспериментальной функции.
Чтобы создать группу docker и добавить в неё пользователя:
$ sudo groupadd docker
2. Добавьте своего пользователя в группу docker.
$ sudo usermod -aG docker $USER
3. Выйдите из системы и войдите снова, чтобы ваша принадлежность к группе была пересмотрена.Если вы проводите тестирование на виртуальной машине, для вступления изменений в силу может потребоваться перезапуск виртуальной машины.В настольной среде Linux, такой как X Windows, полностью выйдите из системы, а затем войдите снова.В Linux вы также можете выполнить следующую команду, чтобы активировать изменения в группах:
$ newgrp docker
4. Убедитесь, что вы можете выполнять команды docker без sudo.
$ docker run hello-world
Эта команда загружает тестовый образ и запускает его в контейнере. Когда контейнер запускается, он выводит информационное сообщение и завершает работу.Если вы сначала запускали команды Docker CLI с использованием sudo перед тем, как добавить своего пользователя в группу docker, вы можете увидеть следующую ошибку, которая указывает на то, что ваш каталог ~/.docker/ был создан с неправильными разрешениями из-за команд sudo.
WARNING: Error loading config file: /home/user/.docker/config.json - stat /home/user/.docker/config.json: permission denied
Чтобы решить эту проблему, удалите каталог ~/.docker/ (он будет создан автоматически, но все пользовательские настройки будут потеряны) или измените его владельца и права доступа с помощью следующих команд:
$ sudo chown "$USER":"$USER" /home/"$USER"/.docker -R $ sudo chmod g+rwx "$HOME/.docker" -R
Настройте запуск Docker при загрузке
В большинстве современных дистрибутивов Linux (RHEL, CentOS, Fedora, Ubuntu 16.04 и выше) используется systemd для управления тем, какие службы запускаются при загрузке системы. В Ubuntu 14.10 и ниже используется upstart.
systemd
$ sudo systemctl enable docker
Чтобы отключить это поведение, используйте disable вместо этого.
$ sudo systemctl disable docker
Если вам нужно добавить HTTP-прокси, указать другой каталог или раздел для файлов среды выполнения Docker или выполнить другие настройки, см. настройте параметры демона Docker в systemd.
upstart
Docker автоматически настраивается на запуск при загрузке с помощью upstart. Чтобы отключить эту функцию, используйте следующую команду:
$ echo manual | sudo tee /etc/init/docker.override
chkconfig
$ sudo chkconfig docker on