cgroup用於限制容器對cpu、記憶體等關鍵資源的使用,防止某個容器獨佔消耗超過安全閾值的宿主機資源。
1,限制cpu
docker 能夠指定乙個容器的cpu相對執行權重,每個容器預設權重為1024。假設ab兩個容器同時執行在乙個宿主機上,a容器權重為1024,b容器權重為512,那麼他們的資源分配率分別為66.6%和33.3%,但是如果b容器完全空閒,則a容器可以使用使用屬於b容器的cpu資源。
例如,可以設定容器cpu權重為100,如下:
$ docker run --rm -it -c 100 ubuntu /bin/bash
另一方面,也可以設定容器對cpu資源的使用上限,每個0.5秒,只允許該ubuntu 容器執行0.25秒。如下:
$ docker run --rm -it --cpu-period=500000 --cpu-quota=250000 ubuntu /bin/bash
2,限制記憶體
一般來說,生產環境必須限制容器的記憶體使用量。命令如下:
$ docker run --rm -it -m 200m ubuntu /bin/bash
這個例子可將該容器可使用的記憶體限制在200mb,不過因為linux 的記憶體機制特性,當記憶體不足時會將部分記憶體置換到swap分割槽裡,因此如果只限制記憶體使用量,可能會導致swap分割槽被用過。此時,可通過--memory-swap引數限制容器對swap分割槽的使用。如果只是指定-m 而不指定 --memroy-swap,那麼總的虛擬記憶體大小(虛擬記憶體=記憶體+swap大小)是-m引數的兩倍。
3,限制塊裝置i/o
docker能設定容器的i/o權重,還允許你直接限制磁碟的讀寫速率,對應的引數有:
--device-read-bps:磁碟每秒最多可以讀多少位元(bytes)
--device-write-bps:磁碟每秒最多可以寫多少位元(bytes)
iOS安全策略之HTTPS
1.https傳輸流程 2.常用加密演算法 3.afn證書校驗策略及核心方法 4.ssl pinning 5.ca證書申請流程 https經由超文字傳輸協議進行通訊,但利用ssl tls來對資料報進行加密。https開發的主要目的,是提供對網路伺服器的身份認證,保護交換資料的隱私與完整性 1.htt...
MySQL安全策略
資料是企業核心資產,資料對企業而言是最重要的工作之一。稍有不慎,極有可能發生資料無意洩露,甚至被黑客惡意竊取的風險。每年業界都會傳出幾起大事件,某知名或不知名的公司被脫褲 拖庫的諧音,意思是整個資料庫被黑客盜取 之類的。從資料安全上也可以分為外網安全及內部操作安全,下面分別討論一下。內部操作安全策略...
SSH安全策略
ssh安全策略 ss配置基本安全策略 調整sshd服務配置,並過載服務 root vim etc ssh sshd config protocol 2 去掉ssh協議v1 permitrootlogin no 禁止root使用者登入 permitemptypasswords no 禁止密碼為空的使用...