Packaging Docker daemon with application


I was wondering whether I could package a container runtime within my application in the same way that the Docker client apps do? That way, my application could build, run and kill containers while not requiring the end user to download the Docker client or have to have it running every time they want to use my app.

I believe that this might be best done by running containerd on linuxkit. This tutorial suggests that it is possible to “install HyperKit and VPNKit standalone and use it without Docker for Mac”.

Essentially, I’d love to abstract the use of containers away from the end user - if there are any easier ways to do this, tutorials or guides on how to do this, it’d be thoroughly appreciated.