docker
Overview
The Docker driver allows you to install Kubernetes into an existing Docker install. On Linux, this does not require virtualization to be enabled.
Requirements
- Install Docker 18.09 or higher
- amd64 or arm64 system.
Usage
Start a cluster using the docker driver:
minikube start --driver=docker
To make docker the default driver:
minikube config set driver docker
Rootless Docker
Requirements
- Docker 20.10 or higher, see https://rootlesscontaine.rs/getting-started/docker/
- Cgroup v2 delegation, see https://rootlesscontaine.rs/getting-started/common/cgroup2/
Usage
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
The --container-runtime
flag must be currently set to “containerd”.
The restrictions of rootless kind
apply to minikube with rootless docker as well.
See https://kind.sigs.k8s.io/docs/user/rootless/ .
Special features
- Cross platform (linux, macOS, Windows)
- No hypervisor required when run on Linux
- Experimental support for WSL2 on Windows 10
Known Issues
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
, andingress-dns
addons are currently only supported on Linux. See #7332On 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
.
Troubleshooting
Verify Docker container type is Linux
On Windows, make sure Docker Desktop’s container type setting is Linux and not windows. see docker docs on switching container type. You can verify your Docker container type by running:
docker info --format '{{.OSType}}'
Run with logs
- Run
--alsologtostderr -v=1
for extra debugging information
Deploying MySql on a linux with AppArmor
On 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.
Last modified August 26, 2021: Support Rootless Docker (323225483)