【问题标题】:How to create MongoDB docker image with my local database?如何使用我的本地数据库创建 MongoDB docker 映像?
【发布时间】:2021-04-09 04:22:06
【问题描述】:

使用 MongoDB 数据库对我的节点应用程序进行 Dockerizing。

我无法将我的 MongoDB 数据库附加到 docker 容器上。 docker 镜像已创建,但新创建的数据库并未将我的本地数据库包含到 Docker 容器中。

我尝试过的..

  • 在 docker-compose.yml 文件中添加卷
  services:  
    database:   
      image: mongo:latest   
      restart: always   
      environment:
        MONGO_INITDB_DATABASE: mydatabase   ports:27017:27017   
      volumes:
        - ./mongod.conf:/etc/mongod.conf
        - ./logs:/var/log/mongodb/
        - ./database:/var/lib/mongodb   
      command: mongod --config /etc/mongod.conf
  • 还创建了 etc/mongo.conf 文件以在 mongo 容器中分配 dbpath。
  • 这里添加mongo.conf文件的代码。
storage:
  dbPath: /var/lib/mongodb/dump
  journal:
    enabled: true

# where to write logging data.
systemLog:
  destination: file
  logAppend: true
  path: /var/log/mongodb/mongod.log
  • 使用docker-compose up --build 命令构建这个 docker 容器。
  • 创建了我的节点应用程序和 MongoDB 的映像,并且我的节点应用程序与此映像成功连接。但在创建的 docker 容器镜像上找不到 mydatabase。

任何帮助将不胜感激.....

非常感谢!!

【问题讨论】:

    标签: node.js mongodb docker docker-compose


    【解决方案1】:

    Mongo 的数据目录是/data/db,你应该使用它而不是/var/lib/mongodb

    更多详情,请阅读https://hub.docker.com/_/mongoWhere to Store Data部分。

    【讨论】:

    • 嗨@snahor,感谢您的回复。我添加了该路径,因为我添加了 mongo.conf 文件并将其添加到 docker 容器中,这会将默认路径从 /data/db 更新为 /var/lib/mongodb。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-04
    • 1970-01-01
    • 2021-10-16
    • 2021-11-28
    • 1970-01-01
    相关资源
    最近更新 更多