Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

233
Vistas
Cómo especificar el límite de memoria y CPU en docker compose versión 3

No puedo especificar la limitación de CPU y memoria para los servicios especificados en la versión 3.

Con la versión 2 funciona bien con los parámetros mem_limit y cpu_shares en los servicios. Pero falla al usar la versión 3, ponerlos en la sección de deploy no parece valer la pena a menos que esté usando el modo de enjambre.

¿Alguien puede ayudar?

 version: "3" services: node: build: context: . dockerfile: ./docker-build/Dockerfile.node restart: always environment: - VIRTUAL_HOST=localhost volumes: - logs:/app/out/ expose: - 8083 command: ["npm","start"] cap_drop: - NET_ADMIN - SYS_ADMIN
over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Sé que el tema es un poco viejo y parece obsoleto, pero de todos modos pude usar estas opciones:

 deploy: resources: limits: cpus: '0.001' memory: 50M

cuando se usa la versión 3.7 de docker-compose

Lo que ayudó en mi caso fue usar este comando:

docker-compose --compatibility up

--compatibility de compatibilidad significa (tomado de la documentación):

Si se establece, Compose intentará convertir claves de implementación en archivos v3 a su equivalente que no sea Swarm

Creo que es genial, que no tengo que revertir mi archivo docker-compose a v2.

over 4 years ago · Santiago Trujillo Denunciar

0

deploy: resources: limits: cpus: '0.001' memory: 50M reservations: cpus: '0.0001' memory: 20M

Más: https://docs.docker.com/compose/compose-file/compose-file-v3/#resources

En tu caso específico:

 version: "3" services: node: image: USER/Your-Pre-Built-Image environment: - VIRTUAL_HOST=localhost volumes: - logs:/app/out/ command: ["npm","start"] cap_drop: - NET_ADMIN - SYS_ADMIN deploy: resources: limits: cpus: '0.001' memory: 50M reservations: cpus: '0.0001' memory: 20M volumes: - logs networks: default: driver: overlay

Nota:

  • La exposición no es necesaria, se expondrá de forma predeterminada en su red de pila.
  • Las imágenes tienen que ser preconstruidas. La compilación dentro de v3 no es posible
  • "Reiniciar" también está en desuso. Puede usar reiniciar en implementación con acción en caso de falla
  • Puede usar un "enjambre" independiente de un nodo, v3, la mayoría de las mejoras (si no todas) son para el enjambre

También tenga en cuenta: las redes en modo Swarm no se conectan. Si desea conectarse solo internamente, debe conectarse a la red. Puede 1) especificar una red externa dentro de otro archivo de redacción, o debe crear la red con el parámetro --attachable (docker network create -d overlay My-Network --attachable) De lo contrario, debe publicar el puerto de esta manera:

 ports: - 80:80
over 4 years ago · Santiago Trujillo Denunciar

0

Docker Compose no admite la clave de deploy . Solo se respeta cuando usa su archivo YAML de la versión 3 en un Docker Stack.

Este mensaje se imprime cuando agrega la clave de deploy a su archivo docker-compose.yml y luego ejecuta docker-compose up -d

ADVERTENCIA: Algunos servicios (base de datos) usan la tecla 'deploy', que será ignorada. Compose no es compatible con la configuración de 'implementación'; use la implementación de la docker stack deploy para implementar en un enjambre.

La documentación ( https://docs.docker.com/compose/compose-file/#deploy ) dice:

Especifique la configuración relacionada con la implementación y ejecución de servicios. Esto solo tiene efecto cuando se implementa en un enjambre con docker stack deployment, y se ignora mediante docker-compose up y docker-compose run.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda