我在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
有什么想法吗?
谢谢, 迈克尔
答案 0 :(得分:7)
在docker-compose中,我认为mongodb服务中的“ volumes”字段不太正确。我认为
.dll
应该是:
Metabot