Docker / Mongodb数据不持久

时间:2018-06-19 13:43:28

标签: mongodb docker docker-compose

我在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

有什么想法吗?

谢谢, 迈克尔

1 个答案:

答案 0 :(得分:7)

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

.dll

应该是:

Metabot