amakanの開発環境をDockerに移行した

https://amakan.net/ のこの辺の改善の続き。

環境構築

docker が動く環境なら、git clone して bin/setup を叩けば開発が始められる。

$ cat bin/setup #!/bin/bash set -ex docker-compose up -d docker-compose run --rm node yarn install docker-compose run --rm puma bundle install docker-compose run --rm puma bundle exec rake db:create db:load:schema docker-compose up -d

やっているのはこういう処理。

  1. イメージのダウンロードとビルド
  2. ライブラリのインストール
  3. DBスキーマの作成
  4. コンテナの起動

bundle と node_modules は volume を利用してマウントしているので、ビルド後に手元でインストールする必要がある。代わりに、これらが変更されるたびにビルドを行う必要はない。

開発者が1人しか居ない上に開発機が1つしかないので、ビルド済みのイメージをレジストリにアップロードして管理したりはしていない。

様子見

docker-compose ps で様子を見られる。

$ docker-compose ps Name Command State Ports ---------------------------------------------------------------------------------