Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

232
Views
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 answers
Answer question

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 Report

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!