- るりまのビルド環境をDockerで作ってみた - ゲームリンクスの徒然なる日常
- 続・るりまの開発環境をDockerで作ってみた - ゲームリンクスの徒然なる日常
- るりまの開発環境をDockerで作ってみた - アジャイルSEの憂鬱
「るりまのソースコード(doctree)内にDockerfileを作る」には,びっくりしました.
Dockerfileだけがあればよく,ビルドの際に,ソースコードを取ってくればいいのでは…
という方針で,Dockerfileを作成しました.
FROM ruby:alpine WORKDIR / ADD https://github.com/rurema/doctree/archive/master.zip . RUN set -eux && \ apk add --no-cache git && \ gem install bundler:1.17.2 bitclust-core bitclust-dev refe2 rack && \ unzip master.zip && \ cd doctree-master && \ bitclust setup && \ bitclust statichtml -o tmp WORKDIR /doctree-master/tmp ENV RUREMAPORT=3000 EXPOSE $RUREMAPORT CMD ruby -run -e httpd . -p $RUREMAPORT
docker build -t myrurema .でビルドし*1,docker run --rm -p 3000:3000 -d myruremaで起動します.ブラウザでhttp://localhost:3030にアクセスすると,「version 2.6 対応リファレンス」のページが表示されました.test(?s,ファイル名)でファイルサイズが得られない?に書いたmodule FileTestのURLは,http://localhost:3000/class/-file-test.htmlになりました.
Dockerfileの作成にあたり,ベースイメージ(ruby:alpine)の選択と,るりまのソースに関しては,以下のページを参照しました.
ADDを使ってダウンロードするのであれば,git cloneは不要,だからgitコマンドのインストールはしなくていいはず,と思いながらdocker buildをすると,bitclust setupのコマンド実行でgitを要求されましたので,「apk add --no-cache git」を入れました.