Я пытаюсь запустить Docker как не-root пользователь, который принадлежит к группе, отличной от 'docker', но я не могу заставить его работать правильно с dockerd -G.Обратите внимание, что моя группа определена в NIS, а не в локальной системе Linux.
Система:
- Docker версия 18.09.7, сборка 2d0083d
- Linux Ubuntu Ubuntu18.04 LTS
Я запускаю службу следующим образом:
- В /lib/systemd/system/docker.service я установил: 'ExecStart = / usr /bin / dockerd -H fd: // --containerd = / run / containerd / containerd.sock --group = mygroup '
- sudo systemctl daemon-reload
- перезапуск докера службы sudo
Я пытался перезагрузиться и установить аргументы --group и -G по-разному, но так и не смог заставить пользователя без полномочий root из mygroup запускать команды docker.После долгих поисков я обнаружил, что файл docker.sock по-прежнему принадлежит docker:
/var/run > ls -la | grep docker.sock
srw-rw---- 1 root docker 0 Jul 10 01:02 docker.sock
Даже если я удалю его и перезапущу службу docker, файл sock будет создан как root: docker.
Обходным путем, который я нашел, было изменение владельца файла вручную:
/var/run > sudo chown :mygroup docker.sock
/var/run > srw-rw---- 1 root mygroup 0 Jul 10 02:03 docker.sock
Теперь пользователь без полномочий root из mygroup может запускать команды Docker.Но я хотел бы знать, если это ошибка или мне нужно настроить что-то еще, чтобы dockerd создал файл docker.sock с правами root: mygroup.