docker的thin pool 和 ulimit问题

  docker出现thin pool问题后,要手动地清理不用的空间。thin pool问题报错如下

docker: Error response from daemon: devmapper: Thin Pool has 9922 free data blocks which is less than minimum required 10083 free data blocks. 
Create more free space in thin pool or use dm.min_free_space option to change behavior.

  清理的命令如下

# - 一次删除所有dangling状态的资源,包括image, container, volume, network
# docker system prune

#- 一次删除所有stopped的container,和未使用的image(不只限于dangling的image)
# docker system prune -a

  es,nginx,redis以docker方式运行,如果报too many open files,就要考虑ulimit的值是否合理问题。网上还有mysql的最大连接数被限制在了214的问题,我没有真正碰到过。

  docker容器内的ulimit不是取决于宿主机的参数设置,可以按如下方式改变

1) 全局默认的ulimit:
docker -d –default-ulimit nproc=1024:2048
docker -d –default-ulimit nofile=20480:40960 nproc=1024:2048 xxx

2)也可以针对单个特殊的服务进行ulimit配置。
docker run -d –ulimit nofile=20480:40960 nproc=1024:2048 xxx

  

原文地址:https://www.cnblogs.com/lnlvinso/p/14022006.html