2017-04-25 36 views
1

我想在Docker-compose文件中使用內存和CPU。 我得到下面的錯誤代碼:碼頭組成文件內存,CPU限制

The Compose file './docker-compose.yml' is invalid because: 
Unsupported config option for services.web: 'resources' 

我撰寫的文件在下面

version: '3' 
services: 
    web: 
     build: . 
     volumes: 
      - "./app:/home" 
     ports: 
      - "8080:8080"  
     resources: 
      limits: 
       cpus: '0.001' 
       memory: 512M 

我怎樣才能使用的CPU,內存與碼頭工人,組成

+0

請發貼'docker-compose version'。 – johnharris85

回答

1

由於docker compose resources只在版本被引入3,很可能你沒有使用上述版本。

見的輸出:

docker-compose version 

upgrade guide

的OP使用泊塢窗,譜寫1.12,它還不支持版本3.

解決:我使用的版本:「2」而非版本:「3」泊塢窗,作曲家文件,我使用的mem_limit代替resources

+0

** docker-compose版本輸出:** ''docker-compose版本1.12.0,build b31ff33 docker-py版本:2.2.1 CPython版本:2.7.13 OpenSSL版本:OpenSSL 1.0.1t 3月3日2016'' –

+0

@AdnanBilaç然後嘗試使用與https://docs.docker.com/compose/compose-file/#resources中所述的完全相同的空間列表,以檢查它是否不是格式問題。 – VonC

+0

謝謝@VonC,問題解決了,但是在docker-composer文件中使用版本:'2'而不是版本:'3'並且使用mem_limit代替資源 –

1

如果您正在使用泊塢撰寫第3節CONFIGS和運行docker-compose up模式,那麼這可能是有用的。

這不是在搬運工,撰寫記錄任何地方,但你可以通過任何有效的系統調用setrlimit選項ulimits

所以,你可以在docker-compose.yaml

ulimits: as: hard: 130000000 soft: 100000000

內存大小是以字節爲單位指定。在超過這個限制後,你的進程會得到內存分配異常,你可能會陷入或不會陷入。