Docker / Mongodb数据不持久 [英] Docker/Mongodb data not persistent
本文介绍了Docker / Mongodb数据不持久的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在mongodb上运行Rails api服务器都可以正常工作,并且我开始将服务器移入docker。
Iam running a rails api server with mongodb all worked perfectly find and I started to move my server into docker.
不幸的是,每当我停止服务器时(docker-compose
Unfortunately whenever I stop my server (docker-compose down) and restart it all data are lost and the db is completely empty.
这是我的docker-compose文件:
This is my docker-compose file:
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:
And this is my 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
任何想法在这里遗漏了什么?
Any idea whats missing here?
谢谢,
迈克尔
Thanks, Michael
推荐答案
在docker-compose中,我认为您在mongodb中的 volumes字段服务不太正确。我认为
In docker-compose, I think your "volumes" field in the mongodb service isn't quite right. I think
volumes:
- /data/db
应该是:
volumes:
- ./localFolder:/data/db
这篇关于Docker / Mongodb数据不持久的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文