使用Docker构建Jekyll站点

本文介绍如何使用Docker快速部署Jekyll博客系统及Apache Web服务器,通过编写特定的Dockerfile实现Jekyll和Apache容器化,并实现两者的卷共享以实时更新博客内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Jekyll 是基于 ruby 的博客生成工具,基于 Ubuntu 镜像进行构建。

安装 jekell 的 Dockerfile

FROM ubuntu
MAINTAINER name "ituzhi@163.com"
ENV REFRESHED_AT 2015-10-12

RUN apt-get -yqq update
RUN apt-get -yqq install ruby ruby-dev make nodejs
RUN gem install --no-rdoc --no-ri jekyll

VOLUME /data
VOLUME /var/www/html
WORKDIR /data

ENTRYPOINT [ "jekyll", "build", "--destination=/var/www/html" ]

安装 apache 的 Dockerfile

FROM ubuntu
MAINTAINER name "ituzhi@163.com"
ENV REFRESHED_AT 2015-10-12

RUN apt-get -yqq update
RUN apt-get -yqq install apache2

VOLUME [ "/var/www/html" ]
WORKDIR /var/www/html

ENV APACHE_RUN_USER www-data
ENV APACHE_RUN_GROUP www-data
ENV APACHE_LOG_DIR /var/log/apache2
ENV APACHE_PID_FILE /var/run/apache2.pid
ENV APACHE_RUN_DIR /var/run/apache2
ENV APACHE_LOCK_DIR /var/lock/apache2

RUN mkdir -p $APAHCE_RUN_DIR $APACHE_LOCK_DIR $APACHE_LOG_DIR

EXPOSE 80

ENTRYPOINT [ "/usr/sbin/apache2" ]
CMD ["-D", "FOREGROUND"]

构建 Jeyll 容器

sudo docker run -v /home/huangyi/Practice/Docker/apache/james_blog:/data/ --name titusblog name/jekyll

构建 Apache 容器,共享使用 Jeyll 的卷

sudo docker run -d -P --volumes-from titusblog name/apache

更新博客内容后使用下列命令重新编译 Jekyll

sudo docker start titusblog

转载于:https://my.oschina.net/lvyi/blog/521380

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值