使用
mongo docker image
时,您可以使用dump file
命令使用mongorestore
来恢复数据库,所以我在本地制作了它,现在我将所有数据存储在volume
中
我想做的是使用这个
volume
使这个数据库可用于使用这个volume
的新mongo容器
我正在尝试实现此目标,因为我使用的环境不能同时具有
dump file
和数据库,导致disk space
所以目前我尝试的是使用我的
local volume
,并将_data
文件夹移动到新mongo容器的volume
中
我想这里还有更多要做的事情,因为在新容器上查看
mongosh
时我看不到数据库,有人已经尝试过这个吗?如果没有的话你能帮我投资这个案子吗?
我不明白的是,docker应该将所有数据存储在
volumes
中,所以如果其中有数据库,它应该在新容器中可用
欢迎任何信息!
因此,如果您将数据存储在本地,您可以执行以下操作:
创建一个 docker 卷
docker 卷创建 mongo_data
将本地数据复制到卷
docker run --rm -v /path/to/local/mongodb/data:/from -v mongo_data:/to alpine ash -c "cp -av /from/* /to/"
使用卷创建新的 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 数据库。