关闭

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

标签: docker
1071人阅读 评论(0) 收藏 举报
分类:

         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


1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1073次
    • 积分:21
    • 等级:
    • 排名:千里之外
    • 原创:1篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档