Сайт Jekyll в Docker обслуживает локально - PullRequest
0 голосов
/ 13 декабря 2018

Я пытаюсь работать с сайтом jekyll локально, используя vim и github, все в контейнере Docker на моей машине с Windows 10.Я хочу работать в контейнере так, как будто это виртуальная машина linux с моим каталогом Downloads в качестве тома и jekyll, обслуживаемым через порт 55.

Моя инициализация докера

docker container run -t -d -p 55:4000 -v ${PWD}:"/home/Downloads/" [container ID]

Для запускаjekyll site Я запускаю следующее в Docker-контейнере

jekyll new my-awesome-site
cd my-awesome-site
bundle exec jekyll serve
...
Server address: http://127.0.0.1:4000/
Server running... press ctrl-c to stop.

Там ничего не отображается локально в 127.0.0.1:55 Chrome Error

Что яне так?

Вот мой Dockerfile

FROM: ubuntu:latest

RUN apt-get update && apt-get -y upgrade
RUN apt-get install -y git && apt-get install -y software-properties-common
RUN apt-get install -y python-pip python-dev ruby-full build-essential
RUN pip install --upgrade pip
RUN apt-get install -y vim

# build ruby configuration
RUN mkdir gems \
    && echo '# Install Ruby Gems to /gems' >> /gems/.bashrc \
    && echo 'export GEM_HOME=/gems' >> /gems/.bashrc \
    && echo 'export PATH=/gems/bin:$PATH' >> /gems/.bashrc \
    && /bin/bash -c "source /gems/.bashrc"

# install jekyll
RUN gem install jekyll bundler

EXPOSE 4000

WORKDIR /home/work

docker ps

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                  NAMES
e25f6359ce49        572                 "/bin/bash"         28 minutes ago      Up 28 minutes       0.0.0.0:55->4000/tcp   loving_gagarin

1 Ответ

0 голосов
/ 14 декабря 2018

Использование bundle exec jekyll serve --host 0.0.0.0

Этот специальный хост скажет jekyll работать на всех интерфейсах, чтобы докер мог передать трагическое во внешний мир.

В качестве примечания, неиспользуйте порт менее 1024, это может вызвать неожиданные проблемы.

...