Lass uns die letzten beiden Beitraege ueber Jekyll und Docker nehmen und ein Docker-Image als Basis fuer Container erstellen, die einen Jekyll-Blog bereitstellen.
Wann immer das Image erstellt und der Container ausgefuehrt wird, passiert Folgendes:
- Code fuer die Ausfuehrung von git und Jekyll wird installiert.
- Ein Git-Repo mit dem Jekyll-Blog wird geklont.
- Jekyll wird ausgefuehrt, um die statische Seite zu erstellen und bereitzustellen.
Das Dockerfile sieht so aus:
{% gist 41c14bedd5fc05cc2ab8 Dockerfile.jekyll_serve %}
Es wird erstellt mit
docker build --tag="your_tag/jekyll_serve" --rm=true.
Danach wird es ausgefuehrt mit
docker run -d -p 4000:4000 --name jekyll_serve your_tag/jekyll_serve:latest
In diesem Fall wird Port 4000 des Docker-Containers auf Port 4000 des Docker-Hosts gemappt.
Um zu testen, ob der Blog auf diesem Port bereitgestellt wird, fuehre curl auf dem Docker-Host zu localhost:4000 aus. Du solltest den Index des neu erstellten Blogs abrufen koennen.
Wenn du mit einer Vagrant Box als Docker-Host arbeitest, kannst du folgende Zeile zu deinem Vagrantfile hinzufuegen, um Port-Forwarding fuer Jekyll zu deinem physischen Host zu aktivieren:
config.vm.network "forwarded_port", guest: 4000, host: 4000
Wenn ich jetzt meinen Browser auf meinem Mac oeffne und localhost:4000 eingebe, werde ich in meine Vagrant Box auf Port 4000 weitergeleitet, die mich zum Port 4000 des Containers weiterleitet.
Eine weitere Option ist, das Port-Forwarding vom physischen Host zur Vagrant Box manuell unter VirtualBox in Settings → Network → Advanced → Port Forwarding hinzuzufuegen.

In diesem Beitrag hast du gelernt, wie man ein Docker-Image erstellt, das einen Jekyll-Blog baut und bereitstellt. Wenn es dein erstes Dockerfile ist, herzlichen Glueckwunsch - beim Erstellen von Dockerfiles wird es nicht viel komplizierter; du hast die wichtigsten Schritte bereits abgedeckt.
Fertig fuer heute!