- るりまのビルド環境を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」を入れました.