Docker image for Clack Application

Clack Application用のDocker base imageを作成したので紹介.

  1. How to use.
  2. See Also

How to use.

簡単なapp.lispを用意する.

(defvar *app*
  (lambda (env)
    (declare (ignore env))
    '(200 (:content-type "text/plain") ("Hello, World"))))

(lack:builder
 :session
 *app*)

FROMとしてrudolphm/clackを指定してDockerfileを用意する.

FROM rudolphm/clack:latest
MAINTAINER Rudolph Miller


ADD app.lisp /usr/local/src/clack-test/

CMD clackup --port 5000 --server woo /usr/local/src/clack-test/app.lisp
EXPOSE 5000

Dockerfileでやっているのは上のapp.lispを配置して、 ENTRYPOINTとしてclackup --port 5000 --server woo app.lispを指定しているだけだ. 後はDockerでbuildしてrunするとClack Applicationが動く.

docker build -t clack-sample ./
docker run -d -p 5000:5000 clack-sample

Common Lispもようやくここまで来たかって所感.

See Also