一尘不染

强烈建议不要将环回设备用于生产用途

docker

我想在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中运行。


阅读 189

收藏
2020-06-17

共1个答案

一尘不染

出现警告消息的原因是,您的Docker存储配置使用的是“回送设备”-虚拟块设备,例如/dev/loop0实际上由文件系统上的文件支持的设备。作为概念证明,这绝不意味着要快速启动Docker并使其快速运行。

您不想 取消 警告;您想要修复存储配置,以便不再发出警告。最简单的方法是分配一些本地磁盘空间,以供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配置为使用此空间,如下所示:

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公开一些其他块设备(例如,备用磁盘或分区)。

有关于这个主题的一些有趣的笔记这里

2020-06-17