簡體   English   中英

在 AWS Elastic Beanstalk 上使用 Docker 預編譯資產

[英]Assets Precompile with Docker on AWS Elastic Beanstalk

我正在 64 位 Amazon Linux/2.12.6 上運行的 Docker 上運行 Rails (4.2.10) 應用程序。 應用程序運行成功,但是資產管道沒有。 奇怪的是,我沒有收到任何可以看到的錯誤消息。

此外,在 app/public/assets 中有資產

例如這個 .css 文件存在:

<link rel="stylesheet" media="all" href="assets/application-e627105c73433d07311d93ea3e4f53942589150887a45432397a6b1e80017a2e.css">

Dockerfile:

FROM ruby:2.4.2

ENV APP_HOME /app
ENV RAILS_ENV production
ENV RACK_ENV production
ENV SECRET_KEY_BASE 39c3bae00bf53ba9e3...

RUN apt-get update -qq && apt-get install -y --no-install-recommends build-essential
RUN apt-get install -y mysql-client
RUN apt-get install -y libxml2-dev libxslt1-dev
RUN apt-get install -y libqtwebkit4 libqt4-dev xvfb
RUN apt-get install -y nodejs
RUN apt-get clean autoclean \
  && apt-get autoremove -y \
  && rm -rf \
    /var/lib/apt \
    /var/lib/dpkg \
    /var/lib/cache \
    /var/lib/log

RUN mkdir $APP_HOME
RUN mkdir $APP_HOME/tmp
WORKDIR $APP_HOME

ADD Gemfile* $APP_HOME/
RUN (bundle check || bundle install --without development test)

ADD . $APP_HOME

# NOTE: handles migrations (or db:setup if needed)
ENTRYPOINT ["sh", "script/docker/entrypoint.sh"]

RUN bundle exec rake assets:precompile --trace
VOLUME /app/public

EXPOSE 3000

CMD ["script/rails", "s", "-b", "0.0.0.0"]

如果您需要進一步解釋或想查看其他內容,請告訴我。

你需要添加config.public_file_server.enabled = true在你config/environments/production.rb ,也可以實現與喜歡的環境變量

但是,您可能希望在 Ruby 應用程序服務器之前運行 Web 服務器,因此您需要檢查我們的反向代理

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM