【问题标题】:Docker mongo image always save the data inside /data/db directoryDocker mongo 映像始终将数据保存在 /data/db 目录中
【发布时间】:2015-08-27 14:37:49
【问题描述】:

我正在使用 docker image for mongo。我更改了要在 mongo.conf 文件中保存数据的目录:

dbpath=/mnt/sda1/data/db/

我也在使用 docker-compose 来创建我的开发环境:

mongo:
  image: mongo
  ports:
   - 27017:27017
  volumes:
   - $HOME/Desktop/development/mongo/data/:/mnt/sda1/data/db/
   - $HOME/Desktop/mongo/config/mongod.conf:/etc/mongod.conf.orig
  command: mongod --smallfiles

当我进入我的 mongo 容器并检查 /mnt/sda1/data/db 目录时,它是空的,然后转到 /data/db 并数据在这里。

我不明白为什么数据不在目录 /mnt/sda1/data/db 中,我定义它有 dbpath 用于 mongo 配置文件.

【问题讨论】:

    标签: mongodb docker docker-compose


    【解决方案1】:

    您似乎在容器内命名配置文件/etc/mongod.conf.orig。您可能应该将其命名为 /etc/mongod.conf

    此外,与docker run 不同,您可以在docker-compose.yml 文件中为volume 选项使用相对路径,而不必使用$HOME

    【讨论】:

    • 我的问题是为什么如果我更改了 mongo.conf 文件中的 dbpath 并使用卷将其共享给我的 docker,但是当我设置 /mnt/ 时数据总是保存在 /data/db 中sda1/数据/分贝。我该如何改变这种行为?
    • 抱歉,我的猜测是因为volume 定义中的错误而找不到配置文件。我更新了答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-18
    • 2018-10-13
    • 1970-01-01
    • 2021-04-23
    • 2022-01-06
    • 1970-01-01
    相关资源
    最近更新 更多