在Docker上运行Jekyll
我正试图在在Docker上运行Jekyll,docker,jekyll,Docker,Jekyll,我正试图在ubuntu-20.04container上运行最新版本的jekyll。我的容器在下面。 我能够建立,我看到我能够运行的容器上的网站。但现在,我无法让网站暴露于外界 Buidl就是成功 sudo docker build——标记jekyll_站点:1.0 运行也很成功,我看到站点正在4000端口上运行。 sudo docker run-p 80:4000 jekyll_站点:1.0 问题 无法在端口80上获取站点。这里缺少什么吗?将CMD更改为字符串系列后,我可以运行它 CMD[“bu
ubuntu-20.04
container上运行最新版本的jekyll
。我的容器在下面。
我能够建立,我看到我能够运行的容器上的网站。但现在,我无法让网站暴露于外界
Buidl就是成功
sudo docker build——标记jekyll_站点:1.0
运行也很成功,我看到站点正在4000端口上运行。
sudo docker run-p 80:4000 jekyll_站点:1.0
问题
无法在端口80上获取站点。这里缺少什么吗?将CMD更改为字符串系列后,我可以运行它
CMD[“bundle”、“exec”、“jekyll”、“service”、“-force\u polling”、“-H”、“0.0.0”、“-p”、“4000”]
最终版本
这就是为什么你非国大
版本:“3.8”
你能试试sudo docker run-p 0.0.0:80:4000/tcp jekyll_site:1.0然后在浏览器中打开
127.0.0.1:80
吗?由于相同的行为,无法连接到站点
FROM ubuntu:20.04
RUN apt update
RUN apt install -y ruby-full
RUN apt-get install -y build-essential zlib1g-dev
RUN gem install jekyll bundler
ENV HOME=/home/user
ENV GEM_HOME=/home/user/gems
ENV PATH=/home/user/gems/bin:$PATH
EXPOSE 4000
RUN ruby --version
RUN gem --version
WORKDIR /home/user/
RUN mkdir -p /home/user/my-awesome-site
RUN jekyll new my-awesome-site
RUN ls /home/user
WORKDIR /home/user/my-awesome-site
CMD bundle exec jekyll serve
FROM ubuntu:20.04
RUN apt update
RUN apt install -y ruby-full
RUN apt-get install -y build-essential zlib1g-dev
RUN gem install jekyll bundler
ENV HOME=/home/user
ENV GEM_HOME=/home/user/gems
ENV PATH=/home/user/gems/bin:$PATH
EXPOSE 4000
RUN ruby --version
RUN gem --version
WORKDIR /home/user/
RUN mkdir -p /home/user/my-awesome-site
RUN jekyll new my-awesome-site
RUN ls /home/user
WORKDIR /home/user/my-awesome-site
CMD [ "bundle", "exec", "jekyll", "serve", "--force_polling", "-H", "0.0.0.0", "-P", "4000" ]
services:
site:
image: jekyll/jekyll
command: bash -c "jekyll new --force ./ && jekyll s"
volumes:
- .:/srv/jekyll
ports:
- 4000:4000
environment:
JEKYLL_ENV: development