【发布时间】:2018-01-20 01:41:51
【问题描述】:
docker 和 docker-compose 的新手,编写了启动几个服务的 compose 文件,其中一个依赖于 mongo 数据库。我不久前下载了 mongo 图像并将其与容器中的数据一起加载。当我通过 docker-compose 启动我的 mongo 实例时,会根据空图像启动一个新容器,因此不要获取数据。
一直在阅读有关卷的文章,试图让 compose 使用现有容器中的数据,现在已经尝试了几种排列方式,但无法让它找到数据。
当我使用数据启动容器并进行检查时,我得到:
"Mounts": [
{
"Type": "volume",
"Name": "3f78b88e3e06f31d5f65a45bb1cb964245551875218d065162625cc73e662b1e",
"Source": "/var/lib/docker/volumes/3f78b88e3e06f31d5f65a45bb1cb964245551875218d065162625cc73e662b1e/_data",
"Destination": "/data/configdb",
"Driver": "local",
"Mode": "",
"RW": true,
"Propagation": ""
},
{
"Type": "volume",
"Name": "d3f89470c9f8c53b55c30338f691eb1586600343004c502feffe8f81091d7d5c",
"Source": "/var/lib/docker/volumes/d3f89470c9f8c53b55c30338f691eb1586600343004c502feffe8f81091d7d5c/_data",
"Destination": "/data/db",
"Driver": "local",
"Mode": "",
"RW": true,
"Propagation": ""
}
],
那么我是否正确地说我需要以某种方式让新容器使用卷标签来使用这些挂载点?
试过了:
volumes:
- type: volume
source: /var/lib/docker/volumes/3f78b88e3e06f31d5f65a45bb1cb964245551875218d065162625cc73e662b1e/_data
target: /data/configdb
volume:
nocopy: true
- type: volume
source: /var/lib/docker/volumes/d3f89470c9f8c53b55c30338f691eb1586600343004c502feffe8f81091d7d5c/_data
target: /data/db
volume:
nocopy: true
和:
volumes:
- /data/configdb:/var/lib/docker/volumes/3f78b88e3e06f31d5f65a45bb1cb964245551875218d065162625cc73e662b1e/_data
- /data/db:/var/lib/docker/volumes/d3f89470c9f8c53b55c30338f691eb1586600343004c502feffe8f81091d7d5c/_data
但老实说,抓住稻草,任何关于我应该如何使用现有数据的示例的帮助将不胜感激。
劳伦斯
【问题讨论】:
标签: mongodb docker-compose volumes