It's more intended to get a stable and separated environment, separate from other things on the server. Until now, when I did something there was a chance, that I got somehow disrupted by imscp, or I disrupted imscp. (e.g. I didn't want that imscp manages chkrootkit, so I disabled it in imscp, but I still have it installed. On every update imscp uninstalls it for me)
Second part, if I decide I need a new machine, or a new test instance, I can just "docker export" it, copy the image and all data over to the new machine and do "docker import".
Third, a new update comes by. I make a backup of the imscp database and install imscp in a new docker container. Deactivate the old container, activate the new. All good? OK normal operation resumes. All bad? OK deactivate new container, activate old container and normal operation resumes.
Fourth, security: If a virus finds it's way inside somehow. I can now assume that only the docker container and it's data is infected. I can scan the data now from outside, where the virus has no power. If shit really hits the fan I just "docker stop" the container and investigate.
Again, Docker seems to be to much overhead compared to the already existing VPSes... !?
Docker has practically no overhead. It's more like a chroot than openVZ/Virtualbox.
- NAT can work just fine. Only check the FTP server settings.
Yeah I just need to look that there's nowhere a static IP entry. atm, Docker changes the container IP on every start. What I did for now is to attach the container on the host interface, where I have a static IP. (so no NAT or anything)
- filesystem should go seperate in any way ( meaning /var/mail and /var/ww ), depends on your hoster
I have a hardware root server. That's what I did. Those files are separate, and are just linked into the host.
To have more options if the container is down. I don't host DNS myself by principle. Too much of a hassle.
- Generally I would think of using puppet or chef to control imscp configuration in the docker way
I'd love to. But the interactive way of imscp doesn't allow me to fully automate it.
The Docker Way™ is btw. build once, run anywhere and never update a container (deploy a new one instead)
I managed to install it, with suprisingly few hiccups. If somebody's interested I can share my configuration and changes to imscp.