Я запускаю приложение rails в докере.Всякий раз, когда я закрываю контейнер и перезапускаю его, я получаю FATAL: database "my_app_dev" does not exist
, и мне приходится заново создавать его и запускать миграции.Я не смог найти рабочее решение для этого.Вот мои файлы докеров:
FROM ruby:2.5.1
RUN \
echo "deb http://apt.postgresql.org/pub/repos/apt/ jessie-pgdg main" >> /etc/apt/sources.list.d/pgdg.list && \
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - && \
apt-get update -qq && \
curl -sL https://deb.nodesource.com/setup_10.x | bash - && \
apt-get install -y build-essential libssl-dev libssl-dev openssl \
nodejs postgresql-client-9.6 default-jre python python-dev python-pip groff-base vim && \
apt-get clean && \
mkdir /my_app
WORKDIR /my_app
COPY Gemfile Gemfile
RUN bundle check || bundle install
COPY . /cider
CMD ["rails", "server", "-b", "0.0.0.0", "-p", "3000"]
docker-compose.yml
version: '3'
services:
web:
build: .
container_name: my-web
tty: true
stdin_open: true
volumes:
- app_sync:/app:nocopy
- node_modules:/app/node_modules
ports:
- '127.0.0.1:3000:3000'
depends_on:
- db
env_file:
- .env
db:
image: postgres:9.6
ports:
- '127.0.0.1:5435:5432'
volumes:
- pg-data:/var/lib/postgrsql/data
volumes:
node_modules:
pg-data:
driver: local
app_sync:
external: true
Спасибо.