1. 如果没有修改过配置,docker默认使用devicemapper作为存储驱动,这是没有问题的。但从你的问题描述看,是通过二进制安装docker,并且报错Udev sync is not supported,所以可能是二进制安装时缺少什么参数。
2. 通过搜索便知道,原因在于编译devicemapper时没有添加对udev sync的支持,执行如下命令重新编译:
因为udev没有可用的静态链接库,而devicemapper依赖于udev,所以只能编译devicemapper的动态链接库,进而编译docker。
3. 通过报错提示(Install a dynamic binary to use devicemapper or select a different storage driver)可以知道,除了安装一个动态链接库外,还可以选择其他的存储驱动,比如在CentOS上比较推荐的overlay2。
4. 使用overlay2的方式也非常简单:修改配置文件daemon.json,重启docker即可。