解决docker WARNING: Usage of loopback devices is strongly discouraged for production use的正确姿势

原创 2016年08月30日 23:44:35

         centos的系统,安装docker后,如果没有修改一些设置,启动docker daemon后,如果在xfs 或者ext4的文件系统上,命令行输入docker info命令下,常会看到如下一条警告信息

          大意是用loopback的方式运行docker是强烈不建议的,后面也告诉了解决这个警告的办法,网上搜索的一些解决办法,大意也是docker daemon启动参数加入  DOCKER_STORAGE_OPTIONS="--storage-opt dm.no_warn_on_loop_devices=true"来规避警告。而实际这样无异于掩耳盗铃,从加入的参数的意思也能看出如此。事实上,根本的解决办法,要从docker 的不同的存储驱动说起。

       目前docker支持的存储驱动类型,有aufs,Device mapper,btrfs,overlayfs和zfs,所有驱动都用到写时复制(CoW)的技术。而出现警告的原因,就是在centos系统上(默认不支持aufs),docker daemon启动时,找到的后端存储驱动只有device mapper类型,就会通过loopback的方式,创造100G的sparse文件,并将其作为device mapper的存储池,而所有容器都从该存储池中分配默认10G的存储空间使用(可以理解为通过dd命令创造一个稀疏文件,再把这个稀疏的文件当做块设备通过loopback挂载出来)。而loopback的方式,性能和稳定性都不是很好,所以才出现上述警告。因此解决的办法,也在使用device mapper存储时,避免使用loopback即可。     

在docker daemon启动时,加入--storage-opt dm.datadev=/dev/xxxx    --storage-opt dm.metadatadev=/dev/xxx   ,为device mapper的元数据存储和docker的镜像数据存储选择独立的块设备即可,lvm或者独立磁盘分区都可以。
        

参考:
        1、

Docker五种存储驱动原理及应用场景和性能测试对比  http://dockone.io/article/1513?utm_source=tuicool&utm_medium=referral

2、深入docker存储驱动 http://static.dockerone.com/ppt/filedriver.html#1

版权声明:本文为博主原创文章,转载请注明出处

Docker学习3 - Hello World

所有环境准备就绪,试着运行一下hello world吧(做为程序员, 你懂的) 参考 http://docs.docker.com/mac/step_two/ [root@centos7-doc...
  • navida
  • navida
  • 2015年07月26日 12:14
  • 4752

Docker学习4 - 增删改查

像数据库一样, docker中对于image, instance也有自己的增删改查操作
  • navida
  • navida
  • 2015年07月26日 22:54
  • 2637

devicemapper介绍

devicemapper介绍 Device Mapper是Linux系统中基于内核的高级卷管理技术框架。Docker的devicemapper存储驱动就是基于该框架的精简置备和快照功能来实现镜像...

Docker服务无法启动 - Error starting daemon: error initializing graphdriver: devmapper: Base Device UUID an

原因未知:重启centos系统解决 ● docker.service - Docker Application Container Engine    Loaded: loaded (...

kubernetes-docker for centos7 集群部署

kubernetes-docker for centos7 集群部署

docker环境搭建

docker环境搭建
  • rznice
  • rznice
  • 2016年08月11日 16:51
  • 6475

上传文件到服务器,从服务器下载文件到本地

上传文件到服务器,从服务器下载文件到本地 1.上传文件到服务器 其实分为四个部分 scp 本地文件路径 服务器信息:上传到服务器的路径 举个例子 scp test.xls d...

Linux 硬件和系统配置查看命令小结

LINUX查看硬件配置命令 系统 # uname  -a               # 查看内核/操作系统/CPU信息  # head -n 3  /etc/issue   # 查看操作系统版...

INFO: HHH000402: Using Hibernate built-in connection pool (not for production use!)的解决

今天按照学习视频学习了Hibernate的入门课程: 前提:用的mysql数据库 前提:导入了hibernate的jar包和JUnit4.0的jar包,还有mysql的jdbc驱动jar包,就是这货:...

Tomcat无法启动解决(二)_Only one usage of each socket address is normally permitted

环境:MyEclipse 6.5+Tomcat6.0.18(安装版本) 在Tomcat下部署项目出错:     错误1:java.lang.Exception: Socket bind failed:...
  • Wentasy
  • Wentasy
  • 2011年10月21日 22:25
  • 5618
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:解决docker WARNING: Usage of loopback devices is strongly discouraged for production use的正确姿势
举报原因:
原因补充:

(最多只允许输入30个字)