ruby-on-rails - 在 AWS Elastic Beanstalk 上使用 Docker 预编译 Assets

标签 ruby-on-rails amazon-web-services docker asset-pipeline amazon-elastic-beanstalk

我在 64 位 Amazon Linux/2.12.6 上运行的 Docker 上运行 rails (4.2.10) 应用程序。应用程序运行成功,但是 Assets 管道没有。奇怪的是,我没有收到任何可以看到的错误消息。

此外,在 app/public/assets 中有 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 , 或者你可以使用像 that 这样的环境变量来实现。 .

但是,您可能希望在 Ruby 应用程序服务器之前运行 Web 服务器,因此您需要检查我们的反向代理。

关于ruby-on-rails - 在 AWS Elastic Beanstalk 上使用 Docker 预编译 Assets ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54333647/

相关文章:

docker - 如何在 Alpine linux 上为 nginx 添加 Lua 模块?

java - S3内容长度错误

docker - Prometheus的AlertManager中的CrashLoopBackOff

c - 没有硬 float 的 ARM Docker 交叉编译

ruby-on-rails - Docker:服务器是否在主机 “localhost”(::1)上运行并在端口5432上接受TCP/IP连接?

amazon-web-services - 如何允许代入角色从 EC2 连接到 AWS 上的 EKS?

amazon-web-services - 如何通过cloudformation为胶水爬虫设置 "Inherit schema from table"?

ruby-on-rails - 如何在 Rails 之外使用 Rails 日期辅助方法?

ruby-on-rails - rails 错误 method_missing':Gem::Specification 的未定义方法 `this'

ruby-on-rails - 如何使用 ruby​​ pg gem 列出 postgresql 数据库?