Я использую следующий Dockerfile для создания образа для моего веб-приложения Rails 4.2:
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).
Я создаю образ докера и запускаю его как контейнер на веб-сервере, который работает нормально. Я могу получить доступ к веб-приложению через домен test.example.com или напрямую через IP-адрес сервера. Я использую https для доступа к веб-приложению.
Теперь проблема:
После посещения нескольких сайтов веб-приложение перестает отвечать (ошибка тайм-аута в браузере). Я думаю, что это происходит только при посещении сайта через IP-адрес (https://255.255.255.255/login и т. Д.). Однако после этого доступ через test.example.com не работает.
Я должен добавить, что сертификат SSL создан самостоятельно.
В журналах rails в контейнере я вижу, что последний запрос (который не работал) даже не был зарегистрирован, так что я думаю, это может быть проблема с докером?
Однако sudo journalctl -fu docker.service не выдает ошибок.
Итак, мои вопросы: есть ли ошибки в моем Dockerfile, есть ли какие-то известные ошибки в одном из используемых программ, кто-нибудь знает, в чем моя проблема, каковы некоторые команды docker для поиска журналов ошибок?