为jekyll制作docker镜像

栏目: 编程工具 · 发布时间: 5年前

内容简介:jekyll运行依赖ruby,每次重装都会遇到版本问题,挺麻烦,干脆做成镜像docker上有jekyll的官方镜像,如果是直接运行,没什么问题。如果你挂载volume就会有权限问题

说明

jekyll运行依赖ruby,每次重装都会遇到版本问题,挺麻烦,干脆做成镜像

官方镜像存在的问题

docker上有jekyll的官方镜像,如果是直接运行,没什么问题。

如果你挂载volume就会有权限问题

jekyll 3.8.5 | Error:  Permission denied @ dir_s_mkdir - /srv/jekyll/_site

制作步骤

步骤1:修改镜像入口文件entrypoint

从官方镜像jekyll中拿到入口文件,做一点修改

#!/bin/bash
[ "$DEBUG" = "true" ] && set -x
set -e

# --
: ${JEKYLL_UID:=$(id -u jekyll)}
: ${JEKYLL_GID:=$(id -g jekyll)}

# --
export JEKYLL_UID
export JEKYLL_GID

# --
# Users can customize our UID's to fit their own so that
#   we don't have to chown constantly.  Well it's not like
#   we do so much of it (anymore) it's slow, but we do
#   change permissions which can result in some bad
#   behavior on OS X.
# --
if [ "1" != "0" ] ; then     # 修改了此处,改目录权限
  usermod  -u $JEKYLL_UID jekyll
  groupmod -g $JEKYLL_GID jekyll
  chown_args=""

  [ "$FULL_CHOWN" ] && chown_args="-R"
  for d in "$JEKYLL_DATA_DIR" "$JEKYLL_VAR_DIR"; do
    chown $chown_args jekyll:jekyll "$d"
  done
fi

# --
exec "$@"

步骤2:镜像制作脚本,dockerfile文件

FROM jekyll/builder:3.8

COPY --chown=jekyll:jekyll entrypoint  /usr/jekyll/bin/entrypoint

RUN gem install jekyll-admin  redcarpet

步骤3:编译镜像

docker build . -t wyq/blog:0.1

步骤4:启动脚本,docker-compose.yml文件

version: '2'
services:
  blog:
    image: wyq/blog:0.1
    volumes:
            - ./blog:/srv/jekyll
    ports:
      - "4000:4000"
    command: jekyll serve -P 4000 -H 0.0.0.0 -w

步骤5:启动

docker-compose -f docker-compose.yml up

来源

http://www.yongqingking.top/docker/2019/04/08/docker-jekyll.html


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

算法交易:制胜策略与原理

算法交易:制胜策略与原理

[美]欧内斯特·陈(Ernest P. Chan) / 高闻酉、黄蕊 / 机械工业出版社 / 49.00

本书是一本引人入胜、信息量大、覆盖各类交易策略的图书。无论个人投资者,还是机构投资者,都可以借鉴和使用其中的策略。本书中的策略大致可分为均值回归系统和动量系统两大类。书中不仅介绍了如何使用每种类别的交易策略,更解释了各种策略之所以有效的原因。本书始终以简单、线性的交易策略为重心,因为复杂的交易策略容易受到过度拟合及数据窥探的侵害。数学和软件是算法交易的两条腿。本书用到了一定程度的数学知识,使其对各......一起来看看 《算法交易:制胜策略与原理》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

html转js在线工具
html转js在线工具

html转js在线工具