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