You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Es importante limitar los recursos que puede usar un contenedor para evitar que consuma todos los recursos del host y afecte a otros contenedores o servicios.
432
-
433
-
### 📊 Limitar Memoria (`--memory` o `-m`)
434
-
435
-
Especifica la cantidad máxima de memoria RAM que puede usar el contenedor:
436
-
437
-
```bash
438
-
docker run -d --memory="512m" --name web -p 8080:80 httpd
439
-
```
440
-
441
-
**Formatos válidos:**
442
-
-`512m` - 512 megabytes
443
-
-`1g` - 1 gigabyte
444
-
-`2g` - 2 gigabytes
445
-
446
-
**🔍 Cómo funciona:**
447
-
- El contenedor puede usar hasta la cantidad especificada
448
-
- Si intenta exceder el límite, Docker lo mata (OOM - Out of Memory)
449
-
- Sin límite especificado, puede usar toda la RAM disponible
450
-
451
-
### ⚙️ Limitar CPU (`--cpus`)
452
-
453
-
Especifica cuántos núcleos de CPU puede usar el contenedor:
454
-
455
-
```bash
456
-
docker run -d --cpus="1.5" --name web -p 8080:80 httpd
457
-
```
458
-
459
-
**Ejemplos de uso:**
460
-
-`--cpus="1"` - Usar como máximo 1 núcleo CPU completo
461
-
-`--cpus="0.5"` - Usar el 50% de 1 núcleo (compartido)
462
-
-`--cpus="2"` - Usar 2 núcleos completos
463
-
464
-
**🔍 Cómo funciona:**
465
-
- El contenedor puede usar hasta ese número de núcleos
466
-
- Si hay más disponibles, puede usarlos cuando otros contenedores no los necesitan
467
-
- Sin límite especificado, puede usar todos los núcleos
468
-
469
-
### 📋 Limitar CPU Priority (`--cpu-shares`)
470
-
471
-
Controla la prioridad de CPU en caso de contención:
472
-
473
-
```bash
474
-
docker run -d --cpu-shares=1024 --name web -p 8080:80 httpd
475
-
```
476
-
477
-
**Por defecto:** Cada contenedor tiene 1024 shares
478
-
- Si todos los contenedores tienen 1024, comparten CPU equitativamente
479
-
- Si uno tiene 512 y otro 1024, el de 1024 recibe el doble de CPU cuando hay contención
480
-
481
-
### 🔗 Combinando límites de CPU y Memoria
482
-
483
-
**Ejemplo práctico: Servidor web seguro**
484
-
485
-
```bash
486
-
docker run -d \
487
-
--name production-web \
488
-
--memory="2g" \
489
-
--cpus="1.5" \
490
-
--cpu-shares=1024 \
491
-
-p 8080:80 \
492
-
httpd
493
-
```
494
-
495
-
**Esto significa:**
496
-
- ✅ Máximo 2GB de RAM
497
-
- ✅ Máximo 1.5 núcleos de CPU
498
-
- ✅ Prioridad normal en caso de contención
499
-
500
-
### 📊 Ver uso de recursos en tiempo real
501
-
502
-
```bash
503
-
# Ver estadísticas de un contenedor específico
504
-
docker stats web
505
-
506
-
# Ver estadísticas de todos los contenedores
507
-
docker stats
508
-
509
-
# Ver con formato personalizado
510
-
docker stats --no-stream
511
-
```
512
-
513
-
**🎯 Casos de uso comunes:**
514
-
515
-
| Caso | Configuración |
516
-
|------|---------------|
517
-
| Servidor web de producción |`--memory="2g" --cpus="2"`|
0 commit comments