|Number of watchers on Github||415|
|Number of open issues||3|
|Average time to close an issue||23 days|
|Average time to merge a PR||3 days|
|Open pull requests||4+|
|Closed pull requests||14+|
|Last commit||over 2 years ago|
|Repo Created||over 5 years ago|
|Repo Last Updated||over 2 years ago|
|Organization / Author||envygeeks|
|Do you use docker? Leave a review!|
|View open issues (3)|
|View docker activity|
|View on github|
|Fresh, new opensource launches 🚀🚀🚀|
Software engineers: It's time to get promoted. Starting NOW! Subscribe to my mailing list and I will equip you with tools, tips and actionable advice to grow in your career.
Jekyll Docker is a software image that has Jekyll and many of it dependencies ready to use for you in an encapsulated format. It includes a default set of gems, different image types with different extra packages, and wrappers to make Jekyll run more smoothly from start to finish for most Jekyll users. If you would like to know more about Docker you can visit https://docker.com, and if you would like to know more about Jekyll, you can visit https://github.com/jekyll/jekyll
jekyll/jekyll: Default image.
jekyll/minimal: Very minimal image.
jekyll/builder: Includes tools.
The standard images (
jekyll/jekyll) include a default set of
dev packages, along with Node.js, and other stuff that makes Jekyll easy. It also includes a bunch of default gems that the community wishes us to maintain on the image.
export JEKYLL_VERSION=3.5 docker run --rm \ --volume="$PWD:/srv/jekyll" \ -it jekyll/jekyll:$JEKYLL_VERSION \ jekyll build
The builder image comes with extra stuff that is not included in the standard image, like
openssh and other extra packages meant to be used by people who are deploying their Jekyll builds to another server with a CI.
export JEKYLL_VERSION=3.5 docker run --rm \ --volume="$PWD:/srv/jekyll" \ -it jekyll/builder:$JEKYLL_VERSION \ jekyll build
The minimal image skips all the extra gems, all the extra dev dependencies and leaves a very small image to download. This is intended for people who do not need anything extra but Jekyll.
You will need to provide a
.apk file if you intend to use anything like Nokogiri or otherwise, we do not install any development headers or dependencies so C based gems will fail to install.
export JEKYLL_VERSION=3.5 docker run --rm \ --volume="$PWD:/srv/jekyll" \ -it jekyll/minimal:$JEKYLL_VERSION \ jekyll build
Jekyll Docker will attempt to install any dependencies that you list inside of your
Gemfile, matching the versions you have in your
Gemfile.lock, including Jekyll if you have a version that does not match the version of the image you are using (you should be doing
gem "jekyll", "~> 3.6" so that minor versions are installed if you use say image tag
If you provide a
Gemfile and would like to update your
Gemfile.lock you can run
export JEKYLL_VERSION=3.5 docker run --rm \ --volume="$PWD:/srv/jekyll" \ -it jekyll/jekyll:$JEKYLL_VERSION \ bundle update
You can enable caching in Jekyll Docker by using a
docker --volume that points to
/usr/local/bundle inside of the image. This is ideal for users who run builds on CI's and wish them to be fast.
If you do not diverge from the default set of gems we provide (read: add Gems to your Gemfile that aren't already on the image), then bundler by default will not create duplicates, and cache. It will simply rely on what is already installed in
$GEM_HOME. This is the default (observed... but unconfirmed) behavior of
bundle when using
export JEKYLL_VERSION=3.5 docker run --rm \ --volume="$PWD:/srv/jekyll" \ --volume="$PWD/vendor/bundle:/usr/local/bundle" \ -it jekyll/jekyll:$JEKYLL_VERSION \ jekyll build
You can configure some pieces of Jekyll using environment variables, what you cannot with environment variables you can configure using the Jekyll CLI. Even with a wrapper, we pass all arguments onto Jekyll when we finally call it.
If you would like to know the CLI options for Jekyll, you can visit Jekyll's Help Site
You can install system packages by providing a file named
.apk with one package per line. If you need to find out what the package names are for a given command you wish to use you can visit https://pkgs.alpinelinux.org. We provide many dependencies for most Ruby stuff by default for
builder and standard images. This includes
git and other stuff that most Ruby packages might need.
You will find directions for using our image with various tools.
version: "3" services: site: command: jekyll serve image: jekyll/jekyll:latest volumes: - $PWD:/srv/jekyll - $PWD/vendor/bundle:/usr/local/bundle ports: - 4000:4000 - 35729:35729 - 3000:3000 - 80:4000
docker-compose run site jekyll new site docker-compose run --service-ports site jekyll s docker-compose run site bundle update docker-compose run site jekyll b
export JEKYLL_VERSION=3.5 docker run --rm \ --volume=$PWD:/srv/jekyll \ -p 35729:35729 -p 4000:4000 \ -it jekyll/builder:$JEKYLL_VERSION \ jekyll build
You can build our images or any specific tag of an image with
bundle exec docker-template build or
bundle exec docker-template build repo:tag, yes it's that simple to build our images; even if it looks complicated it's not.
opts.ymlholds most of the versions, and gems.
script/debugwill help you with that.