【发布时间】:2018-03-01 23:19:41
【问题描述】:
使用 Dockerfile 跟随 https://docs.docker.com/compose/rails/:
FROM ruby:2.3.3
RUN apt-get update -qq && apt-get install -y build-essential libpq-dev nodejs
RUN mkdir /myapp
WORKDIR /myapp
COPY Gemfile /myapp/Gemfile
COPY Gemfile.lock /myapp/Gemfile.lock
RUN bundle install
COPY . /myapp
还有一个 docker-compose.yml:
version: '3'
services:
db:
image: postgres
web:
build: .
command: bundle exec rails s -p 3000 -b '0.0.0.0'
volumes:
- .:/myapp
ports:
- "3000:3000"
depends_on:
- db
据说:
- 停止应用程序 =
docker-compose down- 重新启动应用程序 =
docker-compose upANDdocker-compose run web rake db:create
为什么每次重启容器都需要创建数据库?通常我们只运行一次db:create,然后运行db:migrate 来运行新的迁移。
【问题讨论】:
标签: ruby-on-rails database postgresql docker docker-compose