Saltar al contenido

¿Cuántas CPU usa un contenedor docker?

No dudes en divulgar nuestro sitio y códigos con otro, apóyanos para aumentar nuestra comunidad.

Solución:

Como menciona Charles, por defecto se pueden usar todos, o puede limitarlo por contenedor usando el --cpuset-cpus parámetro.

docker run --cpuset-cpus="0-2" myapp:latest

Eso restringiría el contenedor a 3 CPU (0, 1 y 2). Consulte los documentos de ejecución de la ventana acoplable para obtener más detalles.


La forma preferida de limitar el uso de CPU de los contenedores es con un límite fraccional de CPU:

docker run --cpus 2.5 myapp:latest

Eso limitaría su contenedor a 2,5 núcleos en el host.


Por último, si ejecuta docker dentro de una VM, incluidos Docker para Mac, Docker para Windows y docker-machine, esas VM tendrán un límite de CPU separado de su computadora portátil. Docker se ejecuta dentro de esa máquina virtual y utilizará todos los recursos proporcionados a la propia máquina virtual. Por ejemplo, con Docker para Mac tienes el siguiente menú:

Configuración avanzada de Docker para Mac

Tal vez su máquina virtual host solo tenga un núcleo de forma predeterminada. Por lo tanto, debe aumentar su VM recuento de CPU primero y luego usar –cpuset-cpus opción para aumentar los núcleos de la ventana acoplable. Puede eliminar la VM predeterminada de Docker con el siguiente comando y luego puede crear otra VM con opción recuento de CPU y memoria Talla.:

docker-machine rm default
docker-machine create -d virtualbox --virtualbox-cpu-count=8 --virtualbox-memory=4096 --virtualbox-disk-size=50000 default

Después de este paso, puede especificar el número de núcleos antes de ejecutar su imagen. este comando usará 4 núcleos de un total de 8 núcleos.

docker run -it --cpuset-cpus="0-3" your_image_name

Luego puede verificar la cantidad de núcleos disponibles en su imagen usando este comando:

nproc

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *