edit: I have not used containers with amazon web services but it is really nice to have on my VPS as virtualization and even paravirtualization are not typically an option.
It's also very useful in deployment, I have different containers for my web, primary worker and mongo replicasets. Combined with Digital Ocean it makes it very easy for me to quickly spin up new servers and set them up as needed with only a few commands. There is also comfort in the fact knowing that I can do the exact same thing on linode without any modification to the container.
For a single application, docker doesn't add much except for portability. For a single application with many components, docker adds process isolation (and quotas, and ...).
We have a large Laravel app that we've created, and want to run CI/CD on it, along with acceptance tests (all in Strider CD). The thing is, it has some annoying outdated dependencies, and I need a way to spin up an actual instance of our app, with MySQL, Apache and everything else to be able to run Huxley and Selenium on it.
So, I turned to Docker! I'm nearly at a point where we can just do a `docker pull <appname>` and then run the commands we want to from there, but I'm not there yet. It's really interesting, although the focus on "single process that runs in the foreground" stumps me a little. I'd love a way to running `httpd` and other services in the background, but still use `docker run /var/www/vendor/bin/phpunit` -- anyone got any luck doing something similar?
Looking forward to it being a feature in the future. I truly think that it's a killer app for us web devs: being able to have a container setup for development, and being able to re-use it for super easy testing and one-click deployment without all the futzing around? Yes please!
MONGO_ID=$(sudo docker run -d -v /srv/pool/db:/srv/data/db:rw jradd/mongodb)
Same usage can apply to postgres, mysql, redis, etc…