巷で人気の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と連携は上手くできるか?