如何运行官方mongodbdocker存储数据分离主机系统驱动器?

我想运行官方的mongodb docker,同时将数据存储到一个单独的主机系统驱动器上,在redhat linux上将XFS文件系统挂载为/data 。 我想通过

docker run --name mongodb -p 27017:27017 -v /data:/data/db -d mongo --master --storageEngine wiredTiger

我的理解是,这应该创build一个新的卷,将主机系统的/data作为/data/db挂载到docker容器中,从而将对/data/db的所有访问redirect到主机/data

进行docker inspect --type=container ce03...73显示

 "Mounts": [ { Source: "/data", Destination: "/data/db", Mode: "", RW: true }, ... 

但是,在执行df显示/dev/xvda1挂载为/是唯一的fs增长,而挂载为/data /dev/xvdb保留为空。 du /datals -a /data都certificate了这一点。 现在,如果我做sudo du -L / | grep -E "^[0-9]{6,20}" sudo du -L / | grep -E "^[0-9]{6,20}"这显示了我的系统上的所有相关字节大小的目录。 其中唯一增长的是/proc/3071/task/3071/* 。 做top -p 3071显示mongod 。 因此,而不是保存任何东西/data mongod已经创build了一个虚拟卷,并在那里存储数据。 做sudo du -L / | grep -E "^[0-9]{6,20}" sudo du -L / | grep -E "^[0-9]{6,20}"容器内部确认只有/data/db正在增长。 然而,在容器内部做lsblk并没有显示任何东西会被挂载为/data/db ,只有两个docker循环显示为挂载为/ 。 因此/data/db只是/ docker映像上的普通目录。

为什么? 我怎样才能让它存储数据/data