I also found myself asking this same question, and after careful consideration I ended up choosing LXC over Docker, and here are some reasons why:
- LXC works fine on it's own.
- Docker has it's own bugs, so you get all of the
Docker bugs in addition to potential LXC bugs.
- IPTables routing for containers to the outside
world isn't that hard to manage.
- LXC is simple and straightforward, and by
comparison Docker is a convoluted confusing
mess of additional layers of complexity.
- LXC is already used in many real-world
applications for operational software
everyday.
If you want to know anything else about real-world usage of LXC, please feel free to contact me (jay at jaytaylor com), or check out my relevant project: ShipBuilder [1].