docker container 動態修改記憶體限制

2021-09-08 02:38:55 字數 1810 閱讀 2922

原文:

docker動態修改配置用docker update,用法:

docker update -h

flag shorthand -h has been deprecated, please use --help

usage: docker update [options] container [container...]

update configuration of one or more containers

options:

--blkio-weight uint16 block io (relative weight), between 10 and 1000, or 0 to disable (default 0)

--cpu-period int limit cpu cfs (completely fair scheduler) period

--cpu-quota int limit cpu cfs (completely fair scheduler) quota

--cpu-rt-period int limit the cpu real-time period in microseconds

--cpu-rt-runtime int limit the cpu real-time runtime in microseconds

-c, --cpu-shares int cpu shares (relative weight)

--cpuset-cpus string cpus in which to allow execution (0-3, 0,1)

--cpuset-mems string mems in which to allow execution (0-3, 0,1)

--help print usage

--kernel-memory string kernel memory limit

-m, --memory string memory limit

--memory-reservation string memory soft limit

--memory-swap string swap limit equal to memory plus swap: '-1' to enable unlimited swap

當前要做的是把乙個執行著gitlab 的容器記憶體限制在2048m以內,嘗試用: 

docker update -m 2048m gitlab
報錯:

memory limit should be smaller than already set memoryswap limit, update the memoryswap at the same time
發現問題,docker 預設沒有啟用memory-swap交換記憶體,直接設定了記憶體會出問題,也就是說宿主 swap 支援使用多少則容器即可使用多少,如果 --memory-swap 設定小於 --memory則設定不生效。

將memory-swap 設定值為 -1,表示容器程式使用記憶體受限,而 swap 空間使用不受限制。

docker update --memory 2048m --memory-swap -1 gitlab
問題解決。

Docker container常用的命令

今天操作docker命令,顯然不那麼令人滿意,總結一下常用命令 安裝docker 顯像管理 docker images 列出本地所有映象 docker search 查詢image docker pull docker push 上傳image docker rmi 刪除image 容器管理 doc...

Docker Container同時啟動多服務

昨天踩了個天坑,我有乙個基本的映象centos6.5 ssh,是通過dockerfile build的,利用cmd命令啟動ssh。通過centos6.5 ssh映象,我想build乙個rabbitmq映象,dockerfile中cmd啟動rabbitmq服務。雖然我知道dockerfile中的cmd...

連線 Docker Container 的幾種方式

經過熟悉之後,在 docker 裡安裝了乙個 ubuntu 準備學習使用。然後遇到了一些問題 使用 docker run d ubuntu 之後,container在執行之後馬上退出了。原因很簡單,在docker run 之後沒有命令引數,新增 bash 就可以了 docker run d ubun...