#docker #minikube
Вопрос:
При попытке запустить minikube с драйвером docker, как пользователь root, я получаю:
$ minikube start --driver=docker
* minikube v1.16.0 on Ubuntu 18.04
* Using the docker driver based on user configuration
* The "docker" driver should not be used with root privileges.
* If you are running minikube within a VM, consider using --driver=none:
* https://minikube.sigs.k8s.io/docs/reference/drivers/none/
X Exiting due to DRV_AS_ROOT: The "docker" driver should not be used with root privileges.
В чем проблема использования драйвера docker в качестве пользователя root?
Комментарии:
Ответ №1:
Это вопрос безопасности. В официальной документации докера четко написано о рисках.
Согласно документации —
Docker позволяет вам совместно использовать каталог между хостом Docker и гостевым контейнером; и это позволяет вам делать это без ограничения прав доступа к контейнеру. Это означает, что вы можете запустить контейнер, в котором каталог /host является каталогом / на вашем хосте; и контейнер может изменять файловую систему вашего хоста без каких-либо ограничений.
Чтобы решить вашу проблему, вы можете выполнить следующие действия:
Добавить нового Пользователя
adduser newUser
usermod -aG sudo newUser
su - newUser
Войдите в систему для вновь созданного пользователя
su - newUser
Добавить пользователя в группу Docker
sudo groupadd docker
sudo usermod -aG docker $USER
Перезагрузите и запустите мини-куб с помощью следующих команд
minikube start --driver=docker
Убедитесь, что мини-куб запущен
docker ps
Вот проблема с github, на которую вы можете взглянуть.
Обновляю свой ответ, поскольку это вызывает путаницу, если эти шаги решат проблемы безопасности
Эти шаги устранят ошибку, с которой вы столкнулись при попытке запустить minikube. Но эти шаги не решат проблемы безопасности, поскольку группа docker предоставляет привилегии, эквивалентные привилегиям пользователя root. Чтобы запустить docker без прав root, он же безродный режим, вам необходимо следовать этой документации.
Комментарии:
1. При выполнении этих действий для добавления пользователя в группу docker вы предоставили этому пользователю доступ без пароля к учетной записи root на хосте. Так что я не уверен, что это решило.
2. Эти шаги решат проблему, с которой сталкивается @RafaelJan. Но эти шаги не решат проблемы безопасности, поскольку группа docker предоставляет привилегии, эквивалентные привилегиям пользователя root. Чтобы запустить docker как без привилегий root, ему необходимо следовать этой документации docs.docker.com/engine/security/rootless
Ответ №2:
Войдите в систему как пользователь root и выполните следующие команды.
useradd testuser
usermod -aG docker testuser
su — testuser (или откройте другой терминал и войдите в testuser)
minikube start --driver=docker
его работы!