Disclaimer: I work at CoreOS.<p>Have you considered using rkt as an alternative to docker? It tries to avoid a lot of the security related problems docker has. Specifically there&#x27;s no daemon which runs as root, instead rkt is invoked directly, so the only time rkt requires root, is the actual execution of a container, not downloading or verifying for example. Next, rkt by default wont run unsigned or untrusted images meaning by default you must trust the image&#x2F;author, and finally rkt has the ability to run your container in a light weight VM using lkvm, getting you all the benefits of VM level isolation, but you have the ability to use the same container tooling for it all, and decreasing the overhead by optimizing for the container use-case.<p>Recently rkt also got support for logging different events into the TPM audit log, making it possible to have tamper-proof audit trails of what containers have run on your system. User namespaces are also implemented, but I&#x27;m not sure how well tested they are.<p>Solving the problem of using, and creating large full OS images is quite difficult. As a stepping stone we have also created a tool which scans container images on our Quay.io registry looking for images effected by CVEs. This should hopefully help until we can properly solve creating functional minimal containers easily, but that&#x27;s unfortunately not quite as easy as just telling people to use buildroot (you still need a way to update those images and know when apps need have security updates).<p>Hope this helps.