Ich habe heute ein Dockerfile für GHC7.8 bzw. GHC7.6 mit Cabal 1.20.0.1 auf Ubuntu 14.04 (LTS) geschrieben. Die Dockerfiles selbst liegen auf Github und die Images werden per „trusted builds“ automatisch ins Docker Index hochgeladen (GHC7.8, GHC7.6).
Aufbauend auf diesem Image kann man nun zum Beispiel Dockerfiles für seine eigenen Haskell-Projekte schreiben. Ich zeige das kurz an einem Beispiel, dem funblog.
FROM agrafix/ghc7.6 MAINTAINER mail@agrafix.net RUN git clone https://github.com/agrafix/funblog.git RUN cd funblog && cabal install --only-dependencies RUN cd funblog && cabal build RUN rm -rf /funblog/blog.cfg ADD blogConfiguration.cfg /funblog/blog.cfg EXPOSE 8080 CMD ["/funblog/dist/build/funblog/funblog"]
Das Image kann man dann mit
docker build -t 'agrafix/funblog' .
bauen, wobei man eine Datei blogConfiguration.cfg im gleichen Verzeichnis benötigt. (Vorlage dafür ist auf github) Danach kann man den Blog mit
docker run -p 8080:8080 -d agrafix/funblog
starten und unter
http://localhost:8080
aufrufen.