首页 > 解决方案 > minikube - 为什么“docker”驱动程序不应该与 root 权限一起使用

问题描述

当尝试使用 docker 驱动程序启动 minikube 时,作为 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.

以 root 用户身份使用 docker 驱动程序有什么问题?

标签: dockerminikube

解决方案


这是一个安全问题。在官方 docker文档中清楚地写了风险。

根据文档 -

Docker 允许您在 Docker 主机和来宾容器之间共享目录;它允许您这样做而不限制容器的访问权限。这意味着您可以启动一个容器,其中 /host 目录是您主机上的 / 目录;并且容器可以不受任何限制地更改您的主机文件系统。

要解决您的问题,您可以按照以下步骤操作:
添加新用户
adduser newUser
usermod -aG sudo newUser
su - newUser
登录新创建的用户
su - newUser
将用户添加到 Docker 组
sudo groupadd docker
sudo usermod -aG docker $USER
使用以下命令重新登录并启动 minikube
minikube start --driver=docker
验证 minikube 是否正在运行
docker ps

这是一个github问题,你可以看看。

更新我的答案,因为如果此步骤将解决安全问题会引起混乱

此步骤将解决您在尝试启动 minikube 时遇到的错误。但是这个步骤并不能解决安全问题,因为 docker group 授予的权限等同于 root 用户。要在没有 root 权限(即无 root 模式)的情况下运行 docker,您需要遵循此文档


推荐阅读