巷で人気のDockerを使ってCommonLispの環境を構築& DockerHubで公開してみました。
なんでそんなことするの
動機としては、
- CommonLispの環境構築は面倒
- CIMが大分解決してくれているけどSBCLのコンパイルなどには時間がかかる
 
 - DockerHubとか真面目に使ったことがなかったのでその勉強
 - Windows, Mac, Linuxの環境の統一
 
諦めたところは
- SDLを使ったゲームなどの開発
 - Emacsの同梱
 
とりあえずDockerImage作成
どのCommonLisp実装を使うか用途に応じて違うので
- CIMだけインストールしたもの
 - CIMを利用してSBCLが動作する環境
 
の2種を作りました。
Dockerfileは以下の様な感じで構築してみました。
https://github.com/lambdasakura/ubuntu-cim
https://github.com/lambdasakura/ubuntu-sbcl
適宜、docker buildしてイメージを作成。
公開手順
Automated Buildで公開したかったのでGitHubとDockerHubを連携させます。
- DockerHubにアカウントを作成
 - DockerHubのリポジトリをAutomatedで作成する
 - GitHubに作ったDockerfileが入っているリポジトリを指定
 - Build完了を待ってお終い
 
使い方
docker run -it lambdasakura/ubuntu-sbclでSBCL(rlwrapつき)が起動します。
気になるところ
- 環境はできたけどデプロイのフローはどうなのか
 - Web開発特化(clackが動作するような)のDockerImageもほしいのでは
 - SLIMEと連携は上手くできるか?