我想在CentOS 7.1框中测试docker,我收到了以下警告:
[root@docker1 ~]# docker run busybox /bin/echo Hello Docker Usage of loopback devices is strongly discouraged for production use. Either use `--storage-opt dm.thinpooldev` or use `--storage-opt dm.no_warn_on_loop_devices=true` to suppress this warning. Hello Docker
我想知道原因以及如何消除此警告。
CentOS实例在由vagrant创建的virtualbox中运行。
出现警告消息的原因是,您的Docker存储配置使用的是“回送设备”-虚拟块设备,例如/dev/loop0实际上由文件系统上的文件支持的设备。作为概念证明,这绝不意味着要快速启动Docker并使其快速运行。
/dev/loop0
您不想 取消 警告;您想要修复存储配置,以便不再发出警告。最简单的方法是分配一些本地磁盘空间,以供Docker的 devicemapper 存储驱动程序使用。
如果您正在使用LVM,并且卷组上有一些可用空间,则这相对容易。例如,要给docker 100G的空间,请首先创建一个数据和元数据卷:
# lvcreate -n docker-data -L 100G /dev/my-vg # lvcreate -n docker-metadata -L1G /dev/my-vg
然后通过编辑/etc/sysconfig/docker-storage将Docker配置为使用此空间,如下所示:
/etc/sysconfig/docker-storage
DOCKER_STORAGE_OPTIONS=-s devicemapper --storage-opt dm.datadev=/dev/my-vg/docker-data --storage-opt dm.metadatadev=/dev/my-vg/docker-metadata
如果您不使用LVM或VG上没有可用空间,则可以以类似的方式向Docker公开一些其他块设备(例如,备用磁盘或分区)。
有关于这个主题的一些有趣的笔记这里。