Задать вопрос

Не найден гем при старте докер контейнера основаном на официальном образе ruby?

Пытаюсь запустить 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


Есть еще одна подобная проблема, но я опишу ее в другой теме
  • Вопрос задан
  • 66 просмотров
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы