[英]Windows / Docker / External Mount
在继续之前,此设置完全可以在我的OSX上运行。
现在,在Windows 10计算机上也需要它。 同样,除了一件事之外,其他所有东西都起作用。
当使用docker docker-compose down
关闭所有内容docker-compose down
,MongoDb的内容将被擦除。
如我所知,一个可行的解决方案是创建一个外部卷。
我这样做的时候,使用docker volume create mongodbdata
。 而且它没有用。
这是我的docker-compose.yaml:
version: '2'
volumes:
mongodbdata:
external: true
services:
nginx:
image: 'nginx:alpine'
ports:
- '8000:80'
volumes:
- './:/app'
- './docker-nginx.conf:/etc/nginx/conf.d/default.conf'
mongodb:
image: mongo
volumes:
- 'mongodbdata:/data'
ports:
- '8001:27017'
command: mongod --smallfiles --logpath=/dev/null
我试图删除external:true,希望它可以与本地卷一起使用,并且在那没有运气。 我试图把版本“ 3”放进去,以防万一。
有趣的是,当我在搜索时,我设法做到了。 因此,我使用docker-compose关闭了所有内容,并启动了所有内容,并且以某种方式保存了数据。
如此看来,这可能有效,但我可能做错了什么。
我尝试了各种组合,甚至成功了几次,但无法弄清楚我是如何成功的,换句话说就是找不到模式。
如果有人可以分享一些知识,我将不胜感激。
如果我错过任何信息,请告诉我。
非常感谢!
BTW docker版本是最新的,更新它只是todat!
最后,这与Docker和卷无关,问题出在docker-compose文件中。
mongodb:
image: mongo
volumes:
- 'mongodbdata:/data'
ports:
- '8001:27017'
command: mongod --smallfiles --logpath=/dev/null
更具体地说,本节在这里:
volumes:
- 'mongodbdata:/data'
我们将其切换为
volumes:
- 'mongodbdata:/data/db'
突然之间一切正常。
不知道到底发生了什么...
您将需要以下内容:
mongodb:
image: mongo
volumes_from:
- mongodbdata
ports:
- '8001:27017'
command: mongod --smallfiles --logpath=/dev/null
mongodbdata:
image: busybox
volumes:
- .:/data
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.