jvconseil/jekyll-dockerJekyll Docker是一个预配置Jekyll及其依赖的软件镜像,以封装格式提供即用型环境。它包含默认的 gems 集、包装器和额外软件包,主要供通过CI将Jekyll构建结果部署到其他服务器的用户使用。
builder镜像(jvconseil/jekyll-docker)包含标准镜像中未提供的额外工具,如lftp、openssh等,专为需要通过CI将Jekyll构建部署到其他服务器的用户设计。
shexport JEKYLL_VERSION=4.3.3 docker run --rm \ --volume="$PWD:/srv/jekyll:Z" \ -it jvconseil/jekyll-docker:$JEKYLL_VERSION \ jekyll build
标准镜像(jvconseil/jekyll)已不再支持,原包含默认"dev"包、Node.js及社区维护的常用gems,简化Jekyll使用。
shexport JEKYLL_VERSION=4.3.3 docker run --rm \ --volume="$PWD:/srv/jekyll:Z" \ -it jvconseil/jekyll:$JEKYLL_VERSION \ jekyll build
cmdset site_name=my-blog docker run --rm --volume="%CD%:/srv/jekyll" -it jvconseil/jekyll sh -c "chown -R jekyll /usr/gem/ && jekyll new %site_name%" && cd %site_name%
Linux用户可跳过export MSYS_NO_PATHCONV=1(用于兼容性处理):
shexport site_name="my-blog" && export MSYS_NO_PATHCONV=1 docker run --rm \ --volume="$PWD:/srv/jekyll" \ -it jvconseil/jekyll \ sh -c "chown -R jekyll /usr/gem/ && jekyll new $site_name" \ && cd $site_name
minimal镜像(jvconseil/jekyll-minimal)已不再支持,体积极小,不含额外gems和开发依赖,仅保留基础Jekyll。
需提供.apk文件以支持Nokogiri等工具,因未安装开发头文件或依赖,C语言编写的gems可能安装失败。
shexport JEKYLL_VERSION=4.3.3 docker run --rm \ --volume="$PWD:/srv/jekyll:Z" \ -it jvconseil/jekyll-minimal:$JEKYLL_VERSION \ jekyll build
lftp、openssh等部署工具jekyll serve启动本地服务器,实时预览网站JEKYLL_ROOTLESS环境变量支持无root容器本地开发时,可在容器内运行Jekyll服务器,监听文件变化并自动重建,通过http://localhost:4000访问预览:
shdocker run --rm \ --volume="$PWD:/srv/jekyll:Z" \ --publish [::1]:4000:4000 \ jvconseil/jekyll-docker \ jekyll serve
镜像会自动安装Gemfile中指定的依赖(匹配Gemfile.lock版本),包括Jekyll本身。如需更新依赖:
shexport JEKYLL_VERSION=4.3.3 docker run --rm \ --volume="$PWD:/srv/jekyll:Z" \ -it jvconseil/jekyll-docker:$JEKYLL_VERSION \ bundle update
通过挂载缓存卷加速构建(适用于CI环境):
shexport JEKYLL_VERSION=4.3.3 docker run --rm \ --volume="$PWD:/srv/jekyll:Z" \ --volume="$PWD/vendor/bundle:/usr/local/bundle:Z" \ -it jvconseil/jekyll-docker:$JEKYLL_VERSION \ jekyll build
注意:缓存卷根目录(如
vendor)需在_config.yml的exclude数组中排除,避免Jekyll构建时处理。
使用无root容器管理系统时,设置JEKYLL_ROOTLESS环境变量(非空值):
shpodman run -ti --rm -v .:/srv/jekyll -e JEKYLL_ROOTLESS=1 docker.io/jvconseil/jekyll-docker jekyll new .
通过环境变量配置Jekyll行为:
| 环境变量 | 默认值 | 说明 |
|---|---|---|
JEKYLL_UID | 1000 | Jekyll进程用户ID |
JEKYLL_GID | 1000 | Jekyll进程用户组ID |
JEKYLL_DEBUG | "" | 启用调试模式(非空值生效) |
VERBOSE | "" | 启用详细输出(非空值生效) |
FORCE_POLLING | "" | 强制轮询文件变化(非空值生效) |
通过.apk文件安装系统包(每行一个包名),包名可查询Alpine Linux软件包站。builder镜像默认包含ruby-dev、xml、xslt、git等常用依赖,满足多数Ruby包需求。
本Docker镜像受envygeeks/jekyll-docker启发,在其基础上改进功能和版本。
如果本项目对您有帮助,欢迎请我喝杯咖啡☕️:-)
![成为JV-conseil的赞助者]([***]
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务