/var/log/messages

debugging with sixth sense

Rails4 開発環境作ってみます (2)

とりあえず三つの container が動いた。

$ sudo docker.io ps -a
CONTAINER ID        IMAGE                    COMMAND                CREATED             STATUS              PORTS                     NAMES
7fbe569f3fbf        rails:latest             /start-server.sh       10 seconds ago      Up 10 seconds       0.0.0.0:3000->3000/tcp    rails                
c49233f54278        postgres:latest          /usr/local/bin/run     20 hours ago        Up 20 hours         5432/tcp                  postgres,rails/db    
ed4809b7d731        johncosta/redis:latest   /usr/bin/redis-serve   21 hours ago        Up 21 hours         0.0.0.0:49153->6379/tcp   rails/redis,redis    

netstat 見ると 3000 をリスンしています。

今んとこ、development な環境で動いてるカンジです。一旦止めてみます。

止めて再開の方法

備忘まで。

  • sudo docker.io stop で止める
  • sudo docker.io rm でコンテナ削除
  • sudo docker.io run で再開

とりあえず /bin/bash で起動して以下で大丈夫そうなことを確認。

# RAILS_ENV=production bundle exec unicorn -P 3000

起動して以下を実行してみます。

docker run -i -t -v /app:/app —link redis:redis —link postgres:db —rm rails:latest bash -c “cd /app && RAILS_ENV=production bundle exec rake db:create db:migrate”

つうかこれ、止めないと無理かな、と思ったら大丈夫らしい。ただ。db:migrate は production な環境で実行されてるんですが start-server.sh からの、が駄目です。何が悪いのか。

スクリプトではなく直接

って形だと大丈夫でした。あと、assets:precompile してあげないと駄目みたい。でもとりあえずこれで動作の確認ができる環境は作れたのかどうか。

もう少し調整 (?) が必要な点として

  • rails なコンテナの起動とか停止とか再起動など
  • bare なリポジトリをこさえて hook で何とかできんかな

Comments