Managing Container Memory Resources
Just as we can monitor and control the CPU resources our container is using on our system, we can also do the same with the memory being used. As with CPU, the running container is able to use all of the host's memory with the default settings provided by Docker, and in some cases can cause the system to become unstable if it is not limited. If the host systems kernel detects that there is not enough memory available, it will show an out-of-memory exception and start to kill off the processes on the system to help free up memory.
The good news is that the Docker daemon has a high priority on your system, so the kernel will first kill off running containers before it stops the Docker daemon from running. This means that your system should be able to recover if the high memory usage is being caused by a container application.
Note
If your running containers are being shut down, you will also need to make sure you have tested your application...