2017-09-28 50 views
0

我使用docker-compose來運行一個服務,但它崩潰了,我進入容器並通過'top'獲取資源信息如下。如何在Docker-compose中放大內存限制

top - 13:43:25 up 1 day, 6:46, 0 users, load average: 1.82, 0.74, 0.52 
Tasks: 3 total, 1 running, 2 sleeping, 0 stopped, 0 zombie 
%Cpu(s): 32.2 us, 22.4 sy, 0.0 ni, 40.1 id, 3.0 wa, 0.0 hi, 2.3 si, 0.0 st 
KiB Mem: 2047040 total, 1976928 used, 70112 free,  172 buffers 
KiB Swap: 1048572 total, 1048572 used,  0 free. 14588 cached Mem 

所以我認爲我的碼頭內存不足。

我試着添加

mem_limit: 5g 
memswap_limit: 5g 
mem_reservation: 5g 

成搬運工,compose.yml

但似乎不起作用。我的問題是,如何通過docker-compose擴大碼頭的內存限制。

回答

1

documentation所述,docker-compose中可以使用以下字段來控制內存和cpu資源。

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

不過請注意,默認情況下有對容器內存使用沒有任何限制,因此設置了內存標誌將不太可能的幫助。