tag registrarse pricing hub docker cpu-usage

registrarse - Limitar un contenedor Docker a un solo núcleo de CPU



download docker image (2)

He intentado proporcionar un tutorial sobre asignación de recursos de contenedor.

https://gist.github.com/afolarin/15d12a476e40c173bf5f

Estoy tratando de construir un sistema que ejecute piezas de código en condiciones consistentes, y una forma en la que imagino que esto es posible es ejecutar los diversos programas en contenedores docker con el mismo diseño, reservando la misma cantidad de memoria, etc. Sin embargo, Parece que no puedo encontrar la manera de mantener el uso de la CPU coherente.

Parece que lo más cercano que puedo encontrar son "cpu shares", que, si entiendo la documentación, limitan el uso de la cpu con respecto a los otros contenedores / otros procesos que se ejecutan en el sistema y lo que está disponible en el sistema. No parecen ser capaces de limitar el contenedor a una cantidad absoluta de uso de la CPU.

Idealmente, me gustaría configurar contenedores docker que se limitarían a utilizar un solo núcleo de CPU. ¿Es esto posible?


Si usa una versión más nueva de Docker, puede usar --cpuset-cpus="" en la docker run de la --cpuset-cpus="" docker run para especificar los núcleos de CPU que desea asignar:

docker run --cpuset-cpus="0" [...]

Si usa una versión anterior de Docker (<0.9), que usa LXC como el entorno de ejecución predeterminado, puede usar --lxc-conf para configurar los núcleos de CPU asignados:

docker run --lxc-conf="lxc.cgroup.cpuset.cpus = 0" [...]

En ambos casos, solo el primer núcleo de CPU estará disponible para el contenedor de la ventana acoplable. Ambas opciones están documentadas en la ayuda de la ventana acoplable .