るりまの開発環境をDockerで作ってみた
はじめに
あとはVSCodeなどでコンテナにアクセスするなどして編集すればOKそうです(もしくはvimとか入れてコンテナ内で編集するとか)
この記事を読んで「ホスト側で編集するようにできそう」と思ったので、試しに開発環境を作ってみた。
rurema/doctree のクローン
まず、Gitリポジトリをクローンします。
$ git clone https://github.com/rurema/doctree.git
Docker の設定
rurema/doctree
のディレクトリ直下に Dockerfile
を作ります。
FROM ruby:2.7.0 WORKDIR /home RUN gem install --no-document bundler:1.16.1 COPY Gemfile ./ COPY Gemfile.lock ./ RUN bundle install ENTRYPOINT ["bundle", "exec"]
次に docker-compose.yml
を作ります。
version: "3.8" services: rurema: build: . volumes: - .:/home - html-data:/home/_site environment: HTML_DIRECTORY_BASE: _site nginx: image: nginx:alpine volumes: - html-data:/usr/share/nginx/html:ro ports: - "80:80" volumes: html-data:
htmlを誤ってコミットしないように、 .gitigreno
に記載されていた _site
にhtmlを出力するようにしてある。
htmlを生成する
$ docker-compose run rurema rake
複数のバージョンをビルドすると時間かかるので、普段はバージョンを指定してビルドした方が良いかも。
$ docker-compose run rurema rake statichtml:2.7.0
ブラウザでhtmlを確認する
$ docker-compose up nginx
http://localhost/2.7.0/ をブラウザで開くとhtmlを確認できる。