I'm currently running microk8s in it's stable form (v1.12.0) on my Ubuntu 18.04 installation. It comes with a Docker 17.03.2-ce, which lacks support for multi-stage builds, added in Docker 17.05. The microk8s documentation advises not to use any other Docker on the system (at least as long as AppArmor is on).
Is there a way to run microk8s with a newer version of Docker, so that I can use the multistage build feature, without risking the security of my system?
One person here found a way to use microk8s with system docker. You can disable microk8s docker and use system's so there would not be clash.
I think forcing microk8s to use other parts of your host system runs contradictory to its principle, which is isolated fully independent local kube cluster.
In your case, i would separate image building by utilizing your local docker with multistage support from the docker runtime used by microk8s.