site/content/en/docs/drivers/docker.md
The Docker driver allows you to install Kubernetes into an existing Docker install. On Linux, this does not require virtualization to be enabled.
{{% tabs %}} {{% tab "Standard Docker" %}}
Start a cluster using the docker driver:
minikube start --driver=docker
To make docker the default driver:
minikube config set driver docker
{{% /tab %}} {{% tab "Rootless Docker" %}}
Start a cluster using the rootless docker driver:
dockerd-rootless-setuptool.sh install -f
docker context use rootless
minikube start --driver=docker --container-runtime=containerd
Unlike Podman driver, it is not necessary to set the rootless property of minikube (minikube config set rootless true).
When the rootless property is explicitly set but the current Docker host is not rootless, minikube fails with an error.
It is recommended to set the --container-runtime flag to "containerd".
{{% /tab %}}
{{% /tabs %}}
The following Docker runtime security options are currently unsupported and will not work with the Docker driver (see #9607):
On macOS, containers might get hung and require a restart of Docker for Desktop. See docker/for-mac#1835
The ingress, and ingress-dns addons are currently only supported on Linux. See #7332
On WSL2 (experimental - see #5392), you may need to run:
sudo mkdir /sys/fs/cgroup/systemd && sudo mount -t cgroup -o none,name=systemd cgroup /sys/fs/cgroup/systemd.
Also see co/docker-driver open issues.
docker info --format '{{.OSType}}'
--alsologtostderr -v=1 for extra debugging informationOn Linux, if you want to run MySQL pod, you need to disable AppArmor for mysql profile
If your docker has AppArmor enabled, running mysql in privileged mode with docker driver will have the issue #7401. There is a workaround - see moby/moby#7512.