Q:

How to restrict cpu usage from host to docker container

I have one VM host in one physical server with many docker containers inside.
Here one fragment of my fig.yml
pg:
  image: pg...
redis:
  image: redis...
mongodb:
  image: mongodb...
app:
  image: myapp...

I wish set pg container use only 25% of host cpu and app use only 50% of host cpu and so on. 
Could I do it with fig or with docker run and manage link by hand?
In my case when one of this container is running a costly task it affect the cpu performance of the others ones. But when in the same physical server I have others VM with similar deploy inside the problem increase dramatically.

A:

For now, Fig doesn't support setting CPU and memory limitation. Maybe it will support in the future.
I encourage you to experiment with using docker run -m for memory limit, and docker run -c for CPU shares. These flags will allow you to set memory and CPU values when starting a container. Read more about the flags you can use with docker run here:
https://docs.docker.com/reference/commandline/cli/#run
But it can only set when you are create a new container.
After creating container, you cannot change the value.

