The most likely explanation for mining ending is explained here:
http://www.multichain.com/qa/4727/transaction-not-being-confirmed?show=4736#a4736
In general, MultiChain does not care if it runs in a Docker container, or on a cloud instance, or directly on an operating system. But if the IP addresses of nodes are changing as a result of how you are using Docker, then nodes may not be able to automatically find each other, and this can lead to the "mining requires peers" situation described in the link above. You can use the addnode API to manually re-establish connections.