Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Docker上运行Jekyll_Docker_Jekyll - Fatal编程技术网

在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