为什么我的 mongodb docker 不使用卷将数据写入主机文件夹?

Why my mongodb docker not writing data to host folder using volume?

我想知道为什么我的 mongo docker 没有将数据写入本地文件夹。我 运行 我的 mongo docker 使用此命令: (/data/db好像是mongdo docker的数据存放位置,而/data/docker/mongo_volume是“host”机器中的文件夹)

sudo docker run -it -v /data/db:/data/docker/mongo_volume -d mongo

当 mongo docker 在我的主机中成功启动时,$docker ps 看起来不错:

u@VM-0-9-ubuntu:/data/docker/mongo_volume$ sudo docker ps
CONTAINER ID   IMAGE                          COMMAND                  CREATED          STATUS          PORTS                                           NAMES
5848da7562a3   mongo                          "docker-entrypoint.s…"   10 minutes ago   Up 10 minutes   0.0.0.0:27017->27017/tcp, :::27017->27017/tcp   sleepy_clarke

$ docker inspect <container_id>显示已安装的卷:

        "Mounts": [
            {
                "Type": "bind",
                "Source": "/data/db",
                "Destination": "/data/docker/mongo_volume",
                "Mode": "",
                "RW": true,
                "Propagation": "rprivate"
            },

然后我检查了 dockers(在 docker shell)/data/db 文件夹,一切看起来都很好:

ls -al
total 716
drwxr-xr-x 4 mongodb mongodb   4096 Mar 25 00:38 .
drwxr-xr-x 1 root    root      4096 Mar 25 00:28 ..
-rw------- 1 mongodb mongodb     50 Mar 25 00:28 WiredTiger
-rw------- 1 mongodb mongodb     21 Mar 25 00:28 WiredTiger.lock
-rw------- 1 mongodb mongodb   1472 Mar 25 00:38 WiredTiger.turtle
-rw------- 1 mongodb mongodb  94208 Mar 25 00:38 WiredTiger.wt
-rw------- 1 mongodb mongodb   4096 Mar 25 00:28 WiredTigerHS.wt
-rw------- 1 mongodb mongodb  36864 Mar 25 00:34 _mdb_catalog.wt
-rw------- 1 mongodb mongodb  20480 Mar 25 00:29 collection-0--6476415430291015248.wt
-rw------- 1 mongodb mongodb  65536 Mar 25 00:34 collection-11--6476415430291015248.wt
-rw------- 1 mongodb mongodb  20480 Mar 25 00:29 collection-2--6476415430291015248.wt
-rw------- 1 mongodb mongodb   4096 Mar 25 00:28 collection-4--6476415430291015248.wt
-rw------- 1 mongodb mongodb  20480 Mar 25 00:33 collection-7--6476415430291015248.wt
-rw------- 1 mongodb mongodb 225280 Mar 25 00:33 collection-9--6476415430291015248.wt
drwx------ 2 mongodb mongodb   4096 Mar 25 00:39 diagnostic.data
-rw------- 1 mongodb mongodb  20480 Mar 25 00:29 index-1--6476415430291015248.wt
-rw------- 1 mongodb mongodb  73728 Mar 25 00:33 index-10--6476415430291015248.wt
-rw------- 1 mongodb mongodb  20480 Mar 25 00:34 index-12--6476415430291015248.wt
-rw------- 1 mongodb mongodb  20480 Mar 25 00:29 index-3--6476415430291015248.wt
-rw------- 1 mongodb mongodb   4096 Mar 25 00:28 index-5--6476415430291015248.wt
-rw------- 1 mongodb mongodb   4096 Mar 25 00:28 index-6--6476415430291015248.wt
-rw------- 1 mongodb mongodb  20480 Mar 25 00:33 index-8--6476415430291015248.wt
drwx------ 2 mongodb mongodb   4096 Mar 25 00:28 journal
-rw-r--r-- 1 root    root         0 Mar 25 00:29 lueluelue
-rw------- 1 mongodb mongodb      2 Mar 25 00:28 mongod.lock
-rw------- 1 mongodb mongodb  36864 Mar 25 00:35 sizeStorer.wt
-rw------- 1 mongodb mongodb    114 Mar 25 00:28 storage.bson

然而,问题来了:我发现我的“主机”的/data/docker/mongo_volume:

里什么都没有
ubuntu@VM-0-9-ubuntu:/data/docker/mongo_volume$ ll
total 8
drwxr-xr-x 2 root root 4096 Mar 20 13:46 ./
drwxr-xr-x 3 root root 4096 Mar 20 13:46 ../

所以有人可以给我一个线索吗?非常感谢!

您的docker命令不正确,您应该放置-v :,例如

sudo docker run -it -v /data/docker/mongo_volume:/data/db -d mongo