搜尋

首頁  >  問答  >  主體

sandbox - 如何使用Docker來建立一個沙盒?

最近需要一個sandbox,裏麵會運行用戶的命令、程序。最近初學Docker,所以想利用Docker來實現。

但是看了一些資料,還是沒搞明白怎麼樣才能對Docker容器的內存、CPU、磁盤等進行限製。

昨天試了一下docker run-m參數來限製內存,算是有點用吧。使用-c來限製CPU,貌似不太可行。運行一個無限fork程序就把整個係統給拖死了。

所以想問一下究竟應該是怎麼用的?

PHP中文网PHP中文网2848 天前824

全部回覆(1)我來回復

  • 怪我咯

    怪我咯2017-04-21 10:57:52

    -c 不是說限制CPU的使用率,而是一組進程的CPU的相對使用率,它是一個share ratio,你的docker進程在宿主機只是作為一個普通進程與所有其他進程以cgroups定義的單位進行CPU調度的,但是同一個cgroups的CPU限制單位會share這個CPU使用率,所以,如果你有多個docker進程位於同一個cgroups限制單位內,他們會共享使用率,但是不能阻止他們共同造成CPU100 %。

    回覆
    0
  • 取消回覆