Devise не смог найти `Warden::Proxy` в докере

Я нашел несколько ТАК ответов об этой проблеме. У меня есть эта ошибка, когда я загружаю сеть из контейнера Docker.

Я попробовал то, что предлагается здесь

Helper Devise: не удалось найти экземпляр `Warden::Proxy` по запросу, но безуспешно

Это мой Dockerfile

FROM ruby:2.4.0
ENV PHANTOM_JS="phantomjs-2.1.1-linux-x86_64"

RUN curl -sL https://deb.nodesource.com/setup_6.x | bash - && \
    curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - && \
    echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list && \
    apt-get update && \
    apt-get upgrade -y && \
    apt-get install -y rake  less rsync locales build-essential chrpath libpq-dev libxml2-dev libxslt1-dev libssl-dev libxft-dev libfreetype6 libfreetype6-dev libfontconfig1 libfontconfig1-dev qt5-default libqt5webkit5-dev gstreamer1.0-plugins-base gstreamer1.0-tools gstreamer1.0-x nodejs yarn pdftk && \
    curl -L -O https://bitbucket.org/ariya/phantomjs/downloads/$PHANTOM_JS.tar.bz2 && \
    tar xvjf $PHANTOM_JS.tar.bz2 && \
    mv $PHANTOM_JS /usr/local/share && \
    ln -sf /usr/local/share/$PHANTOM_JS/bin/phantomjs /usr/local/bin && \
    mkdir -p /root/.phantomjs/2.1.1/x86_64-linux/bin && \
    ln -sf /usr/local/share/$PHANTOM_JS/bin/phantomjs /root/.phantomjs/2.1.1/x86_64-linux/bin/phantomjs && \
    apt-get clean && \
    rm -rf /var/lib/apt/lists/*

RUN sed -i "s/^#\ \+\(en_US.UTF-8\)/\1/" /etc/locale.gen
RUN locale-gen en_US.UTF-8
ENV LANG en_US.UTF-8
ENV LC_ALL en_US.UTF-8
ENV LANGUAGE en_US:en
ENV RAILS_ENV=development
ENV BUNDLE_PATH /box

RUN mkdir /app
WORKDIR /app

COPY Gemfile Gemfile.lock ./
RUN bundle install
COPY package.json ./
RUN yarn install

COPY . .

CMD puma -C config/puma.rb

И у меня есть файл композитора docker, когда я создаю образ базы данных (postgresql) и образ сервера rails.

Когда все контейнеры загружены, я захожу в свой браузер и получаю это в терминале:

Ошибка при отказоустойчивом ответе: Devise не удалось найти Warden::Proxy экземпляр по вашему запросу среды. Убедитесь, что ваше приложение загружает Devise и Warden, как и ожидалось, и что Warden::Manager промежуточное ПО присутствует в вашем стеке промежуточного ПО. Если вы видите это в одном из ваших тестов, убедитесь, что ваши тесты выполняют промежуточный стек Rails или что ваши тесты используют Devise::Test::ControllerHelpers модуль для ввода request.env['warden'] объект для вас.

Примечание: я использую Ruby 2.4.0 локально и в Docker

0 ответов

Другие вопросы по тегам