Is there a practical/good way to easily do what I want, with Docker or another tool?
Is there a practical/good way to easily do what I want, with Docker or another tool?
For example I've forked it to built a μPaaS[2] — it has out-of-the-box integration with upstart (for supervision and logging) and replaced Heroku buildpacks with the ability to define stack in Dockerfile (which is much simpler).
[1]: https://github.com/progrium/dokku [2]: https://github.com/andreypopp/upaas
EDIT: Well, supervisord looks straightforward, and you only need a single config file for everything. You have swayed me, thank you for that. This will do perfectly, I will try it today.
1) Install git 2) Clone a repo with all of the dockerfiles in it (each dockerfile corresponds to a container) 3) Install Docker 4) Start containers using the previously-mentioned scripts
The advantage to using a shell script for this is that you can start it manually or via an automated system. All you need is the bootstrap script and you can start your app on any machine. Well, apart from the distributions the post mentions I guess.
Pipework
https://github.com/jpetazzo/pipework
Essentially it lets you create private networks between containers which could each run its own service (one for Postgres, one for Redis, etc).
It uses Go, LXC, and HAProxy.
[1] https://github.com/sendhub/shipbuilder
Disclaimer: I am a committer on the project