gpt4 book ai didi

mongodb - Docker/Mongodb 数据不持久

转载 作者:行者123 更新时间:2023-12-02 06:13:43 25 4
gpt4 key购买 nike

我正在使用 mongodb 运行一个 rails api 服务器,一切都完美地找到了,我开始将我的服务器移到 docker 中。

不幸的是,每当我停止服务器(docker-compose down)并重新启动它时,所有数据都会丢失并且数据库完全为空。

这是我的 docker-compose 文件:

version: '2'
services:
mongodb:
image: mongo:3.4
command: mongod
ports:
- "27017:27017"
environment:
- MONGOID_ENV=test
volumes:
- /data/db

api:
build: .
depends_on:
- 'mongodb'
ports:
- "3001:3001"
command: bundle exec rails server -p 3001 -b '0.0.0.0'
environment:
- RAILS_ENV=test
links:
- mongodb

这是我的 dockerfile:
FROM ruby:2.5.1
RUN apt-get update -qq && apt-get install -y build-essential libpq-dev nodejs

ENV APP_HOME /app

RUN mkdir $APP_HOME

WORKDIR $APP_HOME

COPY Gemfile* $APP_HOME/
RUN bundle install

COPY . $APP_HOME

RUN chown -R nobody:nogroup $APP_HOME
USER nobody

ENV RACK_ENV test
ENV MONGOID_ENV test

EXPOSE 3001

知道这里缺少什么吗?

谢谢,
迈克尔

最佳答案

在 docker-compose 中,我认为您在 mongodb 服务中的“volumes”字段不太正确。我认为

volumes:
- /data/db

应该:
volumes:
- ./localFolder:/data/db

关于mongodb - Docker/Mongodb 数据不持久,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50930008/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com