LoginSignup
6
6

More than 5 years have passed since last update.

dockerでrailsする

Last updated at Posted at 2015-04-12

dockerはインストールしといてください。
データベースはmysqlとし、railsのコンテナとは分けて動かします。

データベース

$ docker run --name local-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:latest

プロジェクトの作成

$ docker run --rm -it -v "$(pwd)":/usr/src/app -w /usr/src/app rails rails new webapp -d mysql

Dockerfileの作成

$ cd webapp
$ vi Dockerfile
FROM rails:onbuild

Dockerfileにこの1行を書いてください。

dockerイメージのビルド

$ docker build -t my-rails-app .

database.yml修正

username、passwordは適宜修正してください。

conf/database.yml
default: &default
  adapter: mysql2
  encoding: utf8
  pool: 5
  username: root
  password: my-secret-pw
  host: db

マイグレーション

$ docker run --rm -it -v $(pwd):/usr/src/app --link local-mysql:db my-rails-app bash
$ bin/rake db:create db:migrate
$ exit

railsrakeコマンドを打つ必要がある場合に使います。

起動

$ docker run --rm -it -p 8080:3000 -v $(pwd):/usr/src/app --link local-mysql:db my-rails-app

http://localhost:8080 or http://host-ip:8080 でアクセスできます。

[おまけ]コンテナが増えまくったら

以下のコマンドで消せます。(runしているコンテナは消えません)

$ sudo docker rm `sudo docker ps -a -q`
6
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
6