win10部署docker和mongo

记录一下:

    部署内容:python tornado web后端  +  es服务  + mongo服务  +  ...

    部署方案:后端server起容器服务,用mongo做存储。

    遇到问题:docker-compose编排容器,为了持久化存储,将mongo直接挂载映射到D盘但是会启服务失败。报错内容:

          WiredTiger error (1) [1609420544:540495][1:0x7fa719ea7a80], file:WiredTiger.wt, connection: __posix_open_file, 672: /data/db/WiredTiger.wt:

          handle-open: open: Operation not permitted Raw: [1609420544:540495][1:0x7fa719ea7a80], file:WiredTiger.wt, connection: __posix_open_file,

          672: /data/db/WiredTiger.wt: handle-open: open: Operation not permitted

          大概是权限问题。各种加权限操作无果。最后查资料得到2个可行方案。

    解决方案1(亲测可行):“用docker数据卷” ,也就是docker volume方式。

         参看文章:http://www.moguf.com/post/windockerrunmongo   

         问题:用docker volume方式 存储的磁盘位置我觉得不太直观,在Windows目录中不好找到。

    解决方案2(我最终使用的这个方案):直接windows本地下载mongo。

         参看文章:https://www.cnblogs.com/wanggang2016/p/10455681.html

         然后在服务器容器内,访问mongo时候,ip用:hosts文件中的docker.ip啥来着忘了(docker desktop添加的)。容器是桥接网络。

原文地址:https://www.cnblogs.com/yuzhaoblog/p/14234115.html