我想使用 Dockerizing MongoDB 并将数据存储在本地卷中。
但是..失败了…
它有 mongo:latest
图片
kerydeMacBook-Pro:~ hu$ docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
mongo latest b11eedbc330f 2 weeks ago 317.4 MB
ubuntu latest 6cc0fc2a5ee3 3 weeks ago 187.9 MB
我想将单声道数据存储在 ~/data
中。所以 - -
kerydeMacBook-Pro:~ hu$ docker run -p 27017:27017 -v ~/data:/data/db --name mongo -d mongo
f570073fa3104a54a54f39dbbd900a7c9f74938e2e0f3f731ec8a3140a418c43
但是……它不起作用……
docker ps – 没有守护进程 mongo
kerydeMacBook-Pro:~ hu$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
尝试运行“mongo”——失败
kerydeMacBook-Pro:~ hu$ docker exec -it f57 bash
Error response from daemon: Container f57 is not running
码头工人检查蒙戈
kerydeMacBook-Pro:~ hu$ docker inspect mongo
[
{
"Id": "f570073fa3104a54a54f39dbbd900a7c9f74938e2e0f3f731ec8a3140a418c43",
"Created": "2016-02-15T02:19:01.617824401Z",
"Path": "/entrypoint.sh",
"Args": [
"mongod"
],
"State": {
"Status": "exited",
"Running": false,
"Paused": false,
"Restarting": false,
"OOMKilled": false,
"Dead": false,
"Pid": 0,
"ExitCode": 100,
"Error": "",
"StartedAt": "2016-02-15T02:19:01.74102535Z",
"FinishedAt": "2016-02-15T02:19:01.806376434Z"
},
"Mounts": [
{
"Source": "/Users/hushuming/data",
"Destination": "/data/db",
"Mode": "",
"RW": true
},
{
"Name": "365e687c4e42a510878179962bea3c7699b020c575812c6af5a1718eeaf7b57a",
"Source": "/mnt/sda1/var/lib/docker/volumes/365e687c4e42a510878179962bea3c7699b020c575812c6af5a1718eeaf7b57a/_data",
"Destination": "/data/configdb",
"Driver": "local",
"Mode": "",
"RW": true
}
],
如果我不设置数据量,mongo image 可以工作!
但是,在设置数据量时,它不能。谁能帮我?
原文由 Kery Hu 发布,翻译遵循 CC BY-SA 4.0 许可协议
尝试检查 docker 日志 以查看容器停止并进入“现有”模式时发生的情况。
另请参阅指定卷的完整路径是否有帮助:
OP补充说:
errno:13 是 第 30 期 的内容。
这条评论 补充说:
但是…由于不支持文件系统类型而导致 mongod 崩溃(mmap 不适用于 vboxsf)
所以实际的解决方案是尝试 DVC: Data Volume Container ,因为现在 mongodb 文档 提到:
所以:
对于 DVC(数据卷容器),请尝试
docker volume create
:然后将其用作:
看看是否效果更好。
正如我 在评论中 提到的:
A
docker volume inspect mongodbdata
(参见docker volume inspect
)将为您提供其路径(如果需要,您可以备份)