I (with not much insight in technical details) read that rkt has a security advantage over docker. As far as I understand the mater this is related to running processes inside a container as root or not). If that was to be said TRUE why is everybody still using docker?
not trying to initiate a flamewar here, just interested in some opinions from this audience
Honestly, I feel like Docker has a huge amount of momentum, but people are much less interested in the CoreOS stack than they used to be. I took a quick peek through rktās claimed advantages and the security claims are generally around things most people donāt care much about, like having a strong chain of trust in signed images.
From what I can tell most Docker users donāt pay attention to even basic security things: they consider it acceptable that a development tool requires a TCP port listener that makes unrestricted, uncontrolled root access to their system available to anyone who can reach it, for instance. If ārun containers as non-rootā is a security best practice (which Iād believe) many many containers donāt do it (in part because it makes reusing host content tricky). And so on.
Iād say more that people donāt know or donāt care. If you ever install software by curl http://... | sudo sh (and I see that recommended not infrequently) then thereās a whole host of trust issues at all levels of the stack that can just go wrong (DNS spoofing on the host name, an attacker replacing the contents of the installer at the network level, ā¦); but, itās super convenient. If youāve ever fought with Debian or Ubuntuās signed package system, on the other hand, thereās some deep magic incantations to get a signing key correctly imported, and if you get it wrong thereās a bunch of scare warnings that, 99% of the time, donāt actually make a difference.
With Docker, even if itās āless secureā, there are a ton of tutorials out there on how to use it and do standard things, including some āinsecureā things like letting the application code be injected from a host directory outside the container systemās control. I think most people donāt think of that as a tradeoff, unless youāre really a security expert. The choice between āpopular, and securable, but with some not-quite-optimal defaultsā and ātotally obscure but more secure in tiny-detail waysā is usually pretty clear for most people.
A lot of folk bring up security without any context. Docker is used to conveniently install GitLab OSS on oneās workstation. Docker is used to support CI/CD pipelines in engineering environments. Docker is used as the container format for multi-tenant, high-availability hybrid cloud environments. The security concerns of these things couldnāt be more different. Docker is popular in part because thereās a culture and knowledge base around all of those use cases. IMHO, CoreOS has been focused solely on the data center side of things.
All of that said, Docker is not infrastructure nor is it InfoSec/AppSec policy enforcement. One could easily argue that the majority of security issues that occur today can be blamed on poor policy and poor infrastructure. Gaining root access on virtual host 3 of 200 should not give a malicious application keys to your castle. If it does, Docker is not your problem. Root access on a application host should mean very little, mitigated through limited permissions schemes and proper network segmentation. But again, this is not Docker specific.