とりあえず仮想リソースをいっこ確保して
$ sudo apt-get update
$ sudo apt-get upgrade -y
む、MBA からだと locale なナニが出ますね。確認してみるに locales パケジが入っておりませなんだ。これ、この時点でスナップショット取得したいのですが (ぇ
kernel panic
何故か apt-get upgrade
で kernel panic してました。
dpkg-reconfigure -a
dpkg --configure -a
apt-get install -f
および再度の apt-get upgrade
を実行しては kernel panic を繰り返した後にオチなくなりました。また locale ですが
- LC_CTYPE を C に
- LANG を C に
という形で回避しました。現在 snapshot 取得なう、です。
その後
作成されたスナップショットを元にテンプレを作成してスナップショットは削除。今度の #okidevops からはこっちのテンプレ使お。
で、環境作っていくんですが手順としては以下?
- docker.io パケジ導入
- Rails なプロジェクトを git clone
- TalkingQuickly/docker_rails_dev_env を cit clone して Rails プロジェクト配下にコピィ
- Dockerfile 修正
- postgres および redis なコンテナは起動できるはず
- config/environments/production.rb に gmail 転送な設定をアレ
- scripts 配下のコマンド修正
- コマンド使って rake db:migrate とか rake assets:precompile とか
- rails なコンテナ起動
控えを残しつつ修正を盛り込んでみます。
盛り込みログ
まず以下を。
$ sudo apt-get install -fy docker.io
で、某所から rails なソレを取得。
$ git clone git@hoge:yamanetoshi/fuga.git
もひとつ取得。
$ git clone https://github.com/TalkingQuickly/docker_rails_dev_env
そしてコピィ。
$ cp docker_rails_dev_env/* fuga/. -r
したら Dockerfike 修正します。必要な分のみ以下に diff を。まず Dockerfike から。
$ diff Dockerfile Dockerfile.ORG
47c47
< ENV RAILS_ENV production
---
> ENV RAILS_ENV development
あ、docker/redis/Dockerfile は以下です。
FROM johncosta/redis
Dockerfile はこれで良いはずなので redis と postgres を起動してみます。こないだのエントリだと Dockerfile を修正しておいて
$ sudo docker.io build -t redis ./docker/redis
$ sudo docker.io run -d --name redis -p 6379 redis:latest
で良いのかな。postgres は以下で。
$ sudo docker.io build -t postgres ./docker/postgres
$ sudo docker.io run -d --name postgres -e POSTGRESQL_USER=docker -e POSTGRESQL_PASS=docker postgres:latest
で起動なのかどうか。次は rails ですがとりあえず build のみ。
$ sudo docker.io build -t rails .
これ、ruby-build とかやってるのでちょい時間がかかります。つうか一度失敗したみたい。
と言いつつ
rails な image はできた模様。次は docker/scripts 配下のソレについて docker
を sudo docker.io
にするのか。というか gmail 転送設定が先なのかな。順番はどっちが先でも良いみたいなので先に修正してしまえ。
で、rdbm.sh を実行してみるに正常動作している模様。以下も実行。
$ ./docker/scripts/cmd.sh "rake assets:precompile"
なんとなく、ちゃんと動いてる模様。起動は以下で良いのかどうか。
$ sudo docker.io run -d -p 3000:3000 -v /home/devops/fuga:/app --link redis:redis --link postgres:db --name rails rails:latest
一応ブラウザからアクセスして期待してたコンテンツが出た。
動作確認
devise な signup してみたらオチたな。あら、Net::SMTPAuthenticationError とか言うとりますな。どうも二段階認証に関するナニな模様。
対処を盛り込んで container 再起動したいんですがどうなるか。
$ sudo ./docker/scripts/restart.sh
を、なんか正常動作している模様。メイルも送付されててログインできました。
課題
postgresql に保存されてるデータの永続化、というか container を commit すれば良いのかどうか。今の所開発環境、って思ってるのでアレなのですがどうしたものか。
また、別途 playbook の検討も、な方向です。あとログインから先の動作確認できてないので微妙っちゃ微妙。