Пытаюсь запустить Ruby on Rails 5.2 внутри контейнера. Получается но не до конца. Опишу сначала вкратце. Запускаю пачку контейнеров в связке с бд, нгинкс с помощью docker-compose - рельсовый контейнер не стартует. Кидает ошибку не нахожу гем Puma при выполнении команды foreman start. Задача устранить данную проблему.
Если руками запустить этот контейнер командой:
docker run -it -v sourcecodes:mountedsourses my_rails_app_image /bin/bash
Я оказываюсь внутри моего контейнера и стартую foreman start - дает ошибку отсутствие гема от дев окружения. Тогда стартую RAILS_ENV=staging foreman start и все шуршит и пуму откуда-то видит.
Теперь мой docker-compose.yml:
version: "3.3"
services:
pg:
image: postgres:11.1-alpine
restart: on-failure:5
ports:
- 5432:5432
volumes:
- ~/4e4o/shared/db/pg/etc:/etc/postgresql:Z
- ~/4e4o/shared/db/pg/log:/var/log/postgresql:Z
- ~/4e4o/shared/db/pg/data:/var/lib/postgresql/data:Z
redis:
image: redis:5.0.3-alpine
restart: on-failure:5
ports:
- 6380:6380
app:
build:
context: .
dockerfile: ./docker/stage/rails/DockerFile
environment:
- BUNDLE_PATH=/bundle
- RAILS_ENV=staging
ports:
- 5000:5000
depends_on:
- pg
- redis
volumes:
- bundle:/bundle:Z
- .:/4e4o:Z
command: foreman start
web:
build:
context: .
dockerfile: ./docker/stage/nginx/DockerFile
restart: on-failure:5
depends_on:
- app
ports:
- 80:80
volumes:
- ./4e4o/shared/log/nginx:/var/log/nginx:Z
- ./4e4o/current:/4e4o
volumes:
bundle:
ProcFile:
backend: RAILS_ENV=$RAILS_ENV bundle exec rails s -p 5000
Есть еще одна подобная проблема, но я опишу ее в другой теме