ブログ

読んで思い出す。忘れるために書く

rerun gem で Docker コンテナ破棄・構築のイテレーションを素早く回す

問題

Dockerfile の内容や、コンテナに同梱したいファイルを編集したときに 編集内容が反映されているか 再ビルド (docker build )して 起動させて (docker run) 目視確認したい

(ここでは Docker の正しい使い方は気にしない)

(本当は気になる もっとスマートに自動化したい)

解決

次のような Shell Script を書いて rerun コマンドに任せる

#!/bin/sh

docker stop ngx_mruby
docker rm ngx_mruby
docker build  -t local/docker-ngx_mruby .
docker run\
  --name "ngx_mruby"\
  -p 3001:80\
  local/docker-ngx_mruby
rerun -cf --background --signal KILL --wait 5 "./build_and_run.sh"

rerun

rerun という gem がある (類似として Guard がある)

特定のファイルやディレクトリを監視して、指定したコマンドをファイルが編集されるたびに再実行するというもの

(デフォルトでは rb,js,coffee,css,scss,sass,erb,html,haml,ru,yml,slim,md,feature,c,h を監視)

詳しくはリンク先参照のこと

Link