我正确地为MongoDB容器安装卷吗?

问题描述 投票:0回答:1

我下载了一个MongoDB docker镜像,并希望安装一个卷来保存添加到MongoDB中的数据。我对卷是否正确安装以及容器是使用卷还是绑定装置感到困惑。

首先我创建了一个卷:

docker volume create mongo-vol-1

然后我运行了docker run命令:

docker run \
-p 30001:27017 \
--name mongo-1 \
--mount source=mongo-vol-1,target=/users/owner/documents/mongodb/data/\  
mongo mongod

容器可以启动并且可以成功添加测试数据。但是,退出容器后,/ users / owner / documents / mongodb / data目录仍为空。

我重新启动容器,仍然可以检索测试数据。

数据是存储在容器中而不是主机目录中吗?如果是这样,如何将主机目录链接到MongoDB存储数据的位置?

另外,我运行了一个docker inspect命令:

docker inspect mongo-1

结果是:

...
"Mounts": [
{
    "Type": "volume",
    "Source": "mongo-vol-1",
    "Target": "/users/owner/documents/mongodb/data"
}
...
"Volumes": {
     "/data/configdb": {},
     "/data/db": {}
        },
...

从上面的结果来看,我不确定目标目录是挂载还是卷?

mongodb docker docker-volume
1个回答
1
投票

请做一个docker inspect mongo-vol-1,你会知道安装点在哪里。

/users/owner/documents/mongodb/data是容器内部的位置,它来自容器,用于了解检索数据的位置。

更多细节:https://docs.docker.com/engine/admin/volumes/volumes/#start-a-container-with-a-volume

© www.soinside.com 2019 - 2024. All rights reserved.