【问题标题】:Rails docker app stops working after some timeRails docker应用程序在一段时间后停止工作
【发布时间】:2019-08-08 07:25:22
【问题描述】:

我使用以下 Dockerfile 为我的 Rails 4.2 webapp 创建一个映像:

FROM ruby:2.3.4

ENV LANG C.UTF-8

WORKDIR /usr/src/page

COPY Gemfile .
COPY Gemfile.lock .
RUN bundle install

COPY . .

EXPOSE 3000
ENV CERT_PATH ssl://0.0.0.0:3000?key=certificate.key&cert=certificate.crt
CMD rails server -b $CERT_PATH -e production

Rails 应用使用 puma(版本 3.9.1)网络服务器。

我创建了一个 docker 映像并将该映像作为容器运行在网络服务器上,效果很好。我可以通过域 test.example.com 或直接通过服务器的 IP 访问 webapp。我使用 https 访问 webapp。

现在的问题: 访问几个站点后,webapp 停止响应(浏览器超时错误)。我认为只有通过 IP 地址(https://255.255.255.255/login 等)访问该站点时才会发生这种情况。但是之后通过 test.example.com 访问就不起作用了。

我必须添加 SSL 证书是自行创建的。

在容器的 rails 日志中,我看到最后一个请求(没有工作)甚至没有被记录,所以我猜这可能是一个 docker 问题?

但是 sudo journalctl -fu docker.service 似乎没有显示错误。

所以我的问题是:我的 Dockerfile 中是否有错误,使用的软件中是否有一些已知的错误,有人知道我的问题是什么,有哪些 docker 命令可以查找错误日志?

【问题讨论】:

  • 您是否尝试在另一台主机上运行容器?以防万一网络出现问题
  • 不,我会试试的,但是 ping 主机的 IP 地址是有效的。

标签: ruby-on-rails docker puma


【解决方案1】:

我做了以下来解决这个问题:

1) Used newest ruby version
2) Used newest puma version
3) Used puma workers
4) Made a config file for puma

目前看来,这些东西可以解决问题。 看来 docker 从来没有出过问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-11-15
    • 2010-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多