Docker Mongo 通过移动卷访问数据库

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

使用

mongo docker image
时,您可以使用
dump file
命令使用
mongorestore
来恢复数据库,所以我在本地制作了它,现在我将所有数据存储在
volume

我想做的是使用这个

volume
使这个数据库可用于使用这个
volume

的新mongo容器

我正在尝试实现此目标,因为我使用的环境不能同时具有

dump file
和数据库,导致
disk space

所以目前我尝试的是使用我的

local volume
,并将
_data
文件夹移动到新mongo容器的
volume

我想这里还有更多要做的事情,因为在新容器上查看

mongosh
时我看不到数据库,有人已经尝试过这个吗?如果没有的话你能帮我投资这个案子吗?

我不明白的是,docker应该将所有数据存储在

volumes
中,所以如果其中有数据库,它应该在新容器中可用

欢迎任何信息!

mongodb docker docker-volume docker-container mongosh
1个回答
0
投票

因此,如果您将数据存储在本地,您可以执行以下操作:

  1. 创建一个 docker 卷

    docker 卷创建 mongo_data

  2. 将本地数据复制到卷

    docker run --rm -v /path/to/local/mongodb/data:/from -v mongo_data:/to alpine ash -c "cp -av /from/* /to/"

  3. 使用卷创建新的 MongoDB 容器

    docker运行-d -v mongo_data:/data/db --name mongodb-container -p 27017:27017 mongo

现在您可以使用 mongo shell (docker exec -it mongodb-container mongo) 或其他 MongoDB 客户端访问新容器中的 MongoDB 数据库。

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