るりまの開発環境をDockerで作ってみた

はじめに

あとはVSCodeなどでコンテナにアクセスするなどして編集すればOKそうです(もしくはvimとか入れてコンテナ内で編集するとか)

gamelinks007.hatenablog.com

この記事を読んで「ホスト側で編集するようにできそう」と思ったので、試しに開発環境を作ってみた。

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を確認できる。