繁体   English   中英

Windows / Docker /外部安装

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM