start run remove hub container docker

remove - docker run image



¿Cuántas CPU usa un contenedor acoplable? (2)

Digamos que estoy ejecutando un servicio de multiprocessing dentro de un contenedor acoplable que genera múltiples procesos, ¿utilizaría el acoplador todos / múltiples núcleos / CPU del host o solo uno?


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

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 Docker para obtener más detalles.

La forma preferida de limitar el uso de CPU de los contenedores es con un límite fraccional en las 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, incluyendo 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 VM y utilizará todos los recursos dados a la misma VM. Por ejemplo, con Docker para Mac tiene el siguiente menú:


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

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 el número de núcleos disponibles en su imagen usando este comando:

nproc