Nebo se zeptám ještě jinak. Jaký by byl rozdíl, kdyby to nebyl CT ale VM s ssh serverem, a ta VM by chcípla stejně jako ten CT? Mě to přijde dost podobný, ne-li stejný, tedy ty následky...
CT je méně náročný na prostředky, kernel bere z hosta a je ideální na jednorázové věci, super rychle startuje atd. My CT spíše používáme na testovací věci, pokud developer daného sw přímo nedoporučí pro produkci.
Ve virtuálním stroji vám běží celý operační systém, který je stavěný na to, že v něm běží spousta nesouvisejících služeb. Proto máte v distribucích typicky systemd nebo nějakého jiného správce služeb, který se stará u jejich běh.
Kontejnery jsou dělané pro běh jedné služby. Nic vám nebrání v kontejneru provozovat skoro celý operační systém se spoustou služeb, ale není to něco, k čemu by byly kontejnery určené. A je pak na vás, abyste věděl, co děláte, a správně to nakonfiguroval a provozoval.
Když „chcípne“ VM, znamená to, že přestal běžet celý ten OS. Když „chcípne“ kontejner, znamená to, že se ukončil proces, který tvořil ten kontejner, a OS ukončí jeho potomky. Pokud z toho kontejneru byly nastartované nezávislé procesy, které nejsou potomkem toho hlavního procesu, ty vám zůstanou v systému běžet, protože už nemají žádnou vazbu k tomu hlavnímu procesu.
Kontejnery nejsou nic jiného, než procesy izolované pomocí cgroups už na úrovni jádra operačního systému. Jádro nezná žádnou entitu „kontejner“ – kontejner je jenom naše označení pro procesy nakonfigurované určitým způsobem.