我已经安装了2个容器:
docker run --hostname raw-data-mongo --name = raw-data-mongo
--network = our-network -p 27017:27017 -v data / db / raw-data-db:/ data / db -d mongo
docker run -d -p 80:3001 --name =原始数据容器 --network = our-network -v / data / db / raw-data-db:/ data / db raw-data-api
但是任何时候我保存数据(使用我的节点应用程序容器,连接到mongo容器)然后删除我的节点容器并重新启动时,我都无法检索保存的数据。
我应该如何安装独立于节点的卷,并且在可能的情况下独立于任何容器的卷?
我希望我可以删除并重新启动容器,但仍然能够检索我的数据
答案 0 :(得分:0)
您可以运行使用-v
来指定您的docker部署用来保存数据的卷。您应该记住两件事,一是您正在运行的docker应该公开-v
并使用它来存储其数据(mongodb这样做,大多数项目也是如此),其二是持久性卷通过-v
传递的路径应该存在,并且docker进程应该对此具有写权限。
希望这会有所帮助!
答案 1 :(得分:0)
请尝试以下操作
第1步:创建目录
$HOME/data/db/raw-data-db
第2步:然后分配音量
docker run --hostname raw-data-mongo --name=raw-data-mongo
--network=our-network -p 27017:27017 -v $HOME/data/db/raw-data-db:/data/db -d mongo
这样,您的数据将在mongodb中保留在该卷中。对于node.js,请使用其他卷。