本文目录 / CONTENTS

General

Ref Url: https://www.cnblogs.com/bourbon-tian/p/7003387.html

构建 Jekyll 镜像

创建 Jekyll Dockerfile

# mkdir /opt/jekyll
# cd /opt/jekyll
# vim Dockerfile

FROM ubuntu:latest
ENV REFRESHED_AT 2017-06-13

RUN apt-get -qq update
RUN apt-get -qq install ruby ruby-dev build-essential nodejs
RUN gem install --no-rdoc --no-ri jekyll -v 2.5.3

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

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

构建 Jekyll Container

# docker build -t test/jekyll .
Sending build context to Docker daemon 1.691 MB
Sending build context to Docker daemon
Step 0 : FROM ubuntu:latest
 ---> db12a182ded0
Step 1 : MAINTAINER Bourbon Tian "[email protected]"
 ---> 6c517b49846f
Successfully built c8ea1e6c398b

构建 Apache 镜像

创建 Apache Dockerfile

# mkdir /opt/apache
# cd /opt/apache
# vim Dockerfile

FROM ubuntu:latest
ENV REFRESHED_AT 2017-06-13

RUN apt-get -qq update
RUN apt-get -qq 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 $APACHE_RUN_DIR $APACHE_LOCK_DIR $APACHE_LOG_DIR

EXPOSE 80

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

构建 Apache Container

# docker build -t test/apache .
Sending build context to Docker daemon  2.56 kB
Sending build context to Docker daemon
Step 0 : FROM ubuntu:latest
 ---> db12a182ded0
...
Successfully built f97bb19ef81c

启动 Jekyll 网站

launch Jekyll

# cd /path-to-src/jekyll
# git clone https://github.com/shengyongjiang/shengyongjiang.github.io
# docker run -v /opt/jekyll/james_blog:/data/ --name volumn_name_here syj/jekyll_images
Configuration file: /data/_config.yml
            Source: /data
       Destination: /var/www/html
      Generating...
                    done.

launch apache

# cd /opt/jekyll
# git clone https://github.com/turnbullpress/james_blog.git
# docker run -v /path-to-src/jekyll/source-code:/data/ --name volumn_name_here syj/jekyll_images
Configuration file: /data/_config.yml
            Source: /data
       Destination: /var/www/html
      Generating...
                    done.