• I have no experience with using MS SQL Server in containers, but I have used PostgreSQL in containers using Docker for nearly two years now.  I wrote a post about my initial impressions of that experience here, if you're interested.   For us, at the time, it was absolutely the correct choice.  While we are still using Postgres in Docker, I'm starting to consider un-doing that change and putting it back on the base servers.

    We realized three major benefits by using containers for databases:

    1)  It helps ensure development databases have the same level of security and configuration applied as production (accidental "Oops" protection)
    2)  It made it very easy to migrate one database while leaving the rest alone, since each database has a dedicated container
    3)  It enabled a very easy method to create automated tests of database restorations

    In the past 6 months we have fully embraced Ansible for automating the deployment/configuration of servers.  With this in place, a lot of the benefits I found using Docker can be realized using Ansible.  Containers were a perfect solution for a tiny startup trying to keep resources at a bare minimum, but we've outgrown that stage now.  

    We will continue to use containers for deploying web applications, VPN services, etc., but will likely stop using them for databases in the next 6 months.  I don't think that using containers is inherently a problem for a database server, but at this point I don't see it as a value-add either.

    I hope others have some feedback on this topic too, I am very interested in other experiences in this realm!