Не могу подключиться к рельсу Docker контейнера на локальном хосте - PullRequest
2 голосов
/ 16 октября 2019

У меня проблемы с доступом к приложению с контейнерами с моей локальной машины. Я следую этому руководству по быстрому запуску в качестве шаблона и внес несколько изменений в пути к моим gemfile и gemfile.lock. Краткое руководство переходит к docker-compose, но я хочу попробовать получить доступ к приложению без него, чтобы сначала ознакомиться с этими процессами, прежде чем двигаться дальше.

Это мой dockerfile:

FROM ruby:2.5
RUN apt-get update -qq && apt-get install -y nodejs postgresql-client
RUN mkdir /myapp
WORKDIR /myapp
COPY Gemfile ./Gemfile
COPY Gemfile.lock ./Gemfile.lock
RUN gem install bundler -v 2.0.1
RUN bundle install
COPY . /myapp

# Add a script to be executed every time the container starts.
COPY entrypoint.sh /usr/bin/
RUN chmod +x /usr/bin/entrypoint.sh
ENTRYPOINT ["entrypoint.sh"]
EXPOSE 3000:3000

# Start the main process.
CMD ["rails", "server", "-b", "0.0.0.0"]

и это файл точки входа:

#!/bin/bash
set -e

# Remove a potentially pre-existing server.pid for Rails.
rm -f /myapp/tmp/pids/server.pid

# Then exec the container's main process (what's set as CMD in the Dockerfile).
exec "$@"

Я могу успешно создать и запустить образ, но когда я пытаюсь получить доступ к 0.0.0.0:3000, я получаю сообщение об ошибке подключения. enter image description here

Я также приложил снимок экрана со структурой каталогов моего приложения, Dockerfile и точка входа находятся в корневом каталоге.

Одна вещь, которая кажется странной, - это когда я пытаюсьчтобы запустить журналы для контейнера, я не получаю никакого вывода, но когда я закрываю контейнер, я вижу журналы запуска. Не уверен, почему это так.

Я использую Docker Desktop 2.1.0.3. Любые мысли / помощь очень ценятся.

1 Ответ

0 голосов
/ 16 октября 2019

используйте просто EXPOSE 3000 в Dockerfile. запустите контейнер ror с отображением порта на localhost из вашего нового образа докера <image>

docker run -d --name ror -p 3000:3000 <image>

, теперь вы сможете получить доступ к localhost:3000

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...