'vanilla' LXC containers vs Docker

I was setting up a new server the other day and decided to play a bit with containers. Docker is what was on my mind since it's been all the rage recently. I did NOTt get off to a good start. I might have had the wrong concept. Docker is focused on single processes and I was wanting it to be more like a traditional VM. I ended up throwing my hands up saying "[email protected]#&it" and just provisioned a digital ocean droplet with plain old bash scripts.

Since then I've read more about containers though, and I think I totally prefer a "normal"? LXC container as it can have many processes, persistent storage and no weird linking multiple containers together. Why is docker so popular? I'm sure I'm missing something.

Also while reading about LXC I found this interesting page which I want to try sometime.

What do you want to run in containers? Services? an OS? A more "traditional vm-style" container worth a look at is systemd-nspawn, you can run apps or an entire OS from it easily compared to LXC.
Or if you have a system with SELinux you can check out SELinuxs' sandbox, also very easy to use, but if you're gonna run gui applications from it note that it runs with its own display server Xephyr, so you can't e.g. copy and paste to and from outside of said container.
Those are the ones I personally use to either run other distros alongside my main system or to isolate programs from the host, but that's on a workstation not a server so I haven't been bothered to learn LXC or Docker properly since they're too cumbersome.

EDIT: Prolly the easiest way to setup LXC containers is straight from a GUI, so check out virt-manager if you got X running. Haven't used it myself tho but I know it can be done.

I want to run: nginx, *nodejs and mysql grouped together into a service.

I guess my goal is not to isolate them from the OS, my goal is to have a setup I can transfer to some one else quickly or move from one server to a new in as few steps as possible.

Up to now, I've used either vagrant and bash scripts to do this, bonus is it also works on windows 'n mac's that colleagues unfortunately use. This method works well enough for me most times.

*nodejs is new to me and I don't like it but it's what is being used in this case.