It may be useful to restrict the Docker container usage of resources when running. Docker gives you a many possibilities to set constraints on the memory, CPU usage or disk access usage. Let's begin with setting the memory constraints.
Runtime constraints on resources
Memory
It's worth knowing that, by default, that is, if you use the default settings without any constraints, the running container can use all of the host memory. To change this behavior we can use the --memory (or -m for short) switch for the docker run command. It takes the usual suffixes k, m, or g for kilobytes, megabytes and gigabytes, respectively.
The syntax of the docker run command with memory constraints set will be as follows:
$ docker run...