Docker Compose with mongodb正在创建一个新的空数据库

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker Compose with mongodb正在创建一个新的空数据库相关的知识,希望对你有一定的参考价值。

我试图连接docker compose与我的本地mongodb,一切正常,连接正常,但我的数据库在容器内是空的,我无法看到我的旧数据,但我的本地数据库已满。我现在正在使用Windows进行测试,这就是我的docker的样子

version: "3"
    services:
      api:
        container_name : docker-node-mongo    
        build: .
        ports:
          - "3500:3001"
          - "5858:5858"
        links:
          - mongo
      mongo:
        container_name : mongo
        image: mongo
        volumes:
          - c:/data/db:/data/db
        ports:
          - '27017:27017'

我知道诀窍是卷:我的mongo。 - data:/ data / db,。/ data / db:/ data / db,$ HOME / data / db,什么都行不通。

请帮忙

答案

假设您在Windows上运行“Docker Destop”。 volume文件中的docker-compose设置看起来是正确的。但是,在Windows上,您需要配置一些其他设置以使Windows驱动器对Docker容器可见。

  1. 从Docker托盘图标中选择“设置”
  2. 选择“共享驱动器”
  3. 选中驱动器号旁边的相应框
  4. 点击“申请”
  5. 请求时输入登录凭据。

注意:如果您随后更改了登录名或密码,则需要使用“共享驱动器”设置页面底部的“重置凭据”链接。

另一答案

对mongo Dockerfilehere的进一步审查显示它暴露了两卷。您只是映射其中一个。您可以考虑更改docker-compose.yml文件以包含configdb卷。

version: "3"
    services:
      api:
        container_name : docker-node-mongo    
        build: .
        ports:
          - "3500:3001"
          - "5858:5858"
        links:
          - mongo
      mongo:
        container_name : mongo
        image: mongo
        volumes:
          - c:/data/db:/data/db
          - c:/data/configdb:/data/configdb
        ports:
          - '27017:27017'

以上是关于Docker Compose with mongodb正在创建一个新的空数据库的主要内容,如果未能解决你的问题,请参考以下文章

docker-compose 和连接到 Mongo 容器

Springboot 容器使用 docker-compose 连接到 mongo 容器的 503 错误代码

Springboot mongo docker-compose 连接失败

Docker-compose django+mongo 应用程序卡在“正在执行系统检查...”

docker-compose启动并使用MongoDB

Mongodb 与 docker-compose - 创建用户