2015-03-03 20 views
35

mem_limit è supportato da docker-compose? Come posso testarlo?Posso usare mem_limit nella finestra mobile-compose? e come?

ho un seguito finestra mobile-compose.yml

repository: 
    image: myregistry/my_nginx_image 
    mem_limit: 60m 
    volumes: 
    - /etc/localtime:/etc/localtime 
    ports: 
    - "80:80" 

Come posso dimostrare che il contenitore in realtà non supera i 60 MB di RAM?

sto usando:

  • finestra mobile 1.3.1
  • finestra mobile-comporre 1.1.0
+1

sì, è possibile impostare mem_limit e cpu_shares http : //docs.docker.com/compose/yml/#working95dir-entrypoint-user-hostname-domainname-mem95limit-privileged-restart-stdin95open-tty-cpu95shares – kikicarbonell

+0

'docker stats' consente di controllare le risorse del contenitore. – ulidtko

+0

Link dei documenti aggiornati: https://docs.docker.com/compose/compose-file/compose-file-v2/#cpu-and-other-resources usa 'mem_limit' nel file di composizione. – levibostian

risposta

44

Sì. La limitazione della memoria è supportata da docker-compose e il valore può essere impostato come nell'esempio con "m" per megabyte.

È possibile controllare quale è il limite di memoria impostato per l'esecuzione del contenitore Docker utilizzando il comando "statistiche docker".

Se il nome del contenitore è "repository_1" quindi utilizzare questo comando:

docker stats repository_1 

Il risultato di questo sarà simillar a questo:

CONTAINER  CPU % MEM USAGE/LIMIT MEM %  NET I/O 
repository_1 1.93% 4.609 MiB/60 MiB 7.20%  1.832 KiB/648 B 
+0

quale versione della finestra mobile si utilizza. 1.3.1 non ha il comando stats – montells

+0

Sto usando Docker 1.5. Apparentemente "Docker stats" è stato introdotto in Docker 1.5: https://blog.docker.com/2015/02/docker-1-5-ipv6-support-read-only-containers-stats-named-dockerfiles-and -Di Più/ – maniekq

3

Secondo fig documentation, semplice

mem_limit: 1000000000 

dovrebbe essere sufficiente. Immagino che dovresti eliminare "m" e usare byte invece di megabyte.

+0

Sì, l'ho fatto. Non ricevo errori, ma non sono sicuro che questo delimiti la quantità di memoria da utilizzare. Come potrei controllare? – montells

+0

Link per comporre documenti parlando di 'mem_limit' e altre opzioni: https://docs.docker.com/compose/compose-file/compose-file-v2/#cpu-and-other-resources – levibostian

0

È possibile trovare come configurare la finestra mobile per limitare le risorse (CPU & MEMORY) e come testare le restrizioni in questo post scritto l'anno scorso: resource-management-in-docker.

+0

un altro modo semplice per testare I limiti MEMORY stanno eseguendo il codice all'interno dei contenitori come segue: http://soichi.us/archives/11 ma attenzione con il comportamento dello swap come mostrato il riferimento della mia risposta. – kikicarbonell

Problemi correlati