feat(*): add data containers

Some components like the private registry store state inside the
container. It would not be a good day for administrators if the
container restarted, as all of their mission-critical data would
be lost. Adding a bind-mount to a data container lets us restart
the containers without losing this data.

closes #703