docker 运行容器时指定--sysctl参数来设置系统参数


指定--sysctl参数来设置系统参数,通过这些参数来调整系统性能,Docker通过一个 ValidateSysctl函数来限制 sysctl参数可以传入的项,源码如下:

// docker/opts/opts.go
func ValidateSysctl(val string) (string, error) {    
  validSysctlMap :
= map[string]bool{
  "kernel.msgmax": true,
  "kernel.msgmnb": true,
  "kernel.msgmni": true,   "kernel.sem": true,   "kernel.shmall": true,   "kernel.shmmax": true,
  "kernel.shmmni": true,
  "kernel.shm_rmid_forced": true, } validSysctlPrefixes := []string{ "net.", "fs.mqueue.", }

从源码中可以看出Docker允许调整的包含前缀是kernel.xxx、net和fs.mqueue这三类,使用示例如下:

docker run --sysctl kernel.sem="800 640000 400 800" --sysctl fs.mqueue.msg_max=10000--sysctl kernel.shmmni=40960--sysctl kernel.msgmax=65536 \
--sysctl kernel.msgmnb=84000--sysctl kernel.shmall=2097152--sysctl kernel.shmmax=8405194752 ......

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM