Я пытаюсь создать файл докера для запуска моего приложения rails. Когда я пытаюсь запустить контейнер, он терпит неудачу с foreman: executable file not found in $PATH.

Dockerfile

FROM ruby:2.7.2 as builder
ENV RAILS_ENV="production"
COPY . /app
WORKDIR /app
RUN gem install bundler:2.1.4
RUN apt-get update && apt-get install -y nodejs libpq-dev build-essential patch --no-install-recommends && rm -rf /var/lib/apt/lists/*
RUN bundle config set deployment 'true' && \
    bundle config set without 'development test'
RUN bundle install
RUN gem install foreman

FROM ruby:2.7.2
ENV RAILS_ENV="production" \
    RAILS_SERVE_STATIC_FILES="yes"
    # SECRET_KEY_BASE="your_production_key" \
# RUN install_packages libssl1.1
COPY --from=builder /app /app
WORKDIR /app
EXPOSE 3000
CMD ["foreman", "start"]
-3
Antarr Byrd 26 Ноя 2020 в 22:10

1 ответ

Лучший ответ

Вы установили бригадир в конструкторе, но выполняете его в основном контейнере.

Если вы хотите запустить программу в контейнере, вам необходимо ее установить.

1
Jörg W Mittag 27 Ноя 2020 в 07:07