#dockerにての環境構築手順まとめ
忘れる前にまとめておきます
##環境構築の流れ
0 dockerfile gemfile gemfilelock docker-compose.ymlをセットする
docker-compose.ymlの一例
docker-compose.yml
version: '3'
services:
web:
build: .
command: bundle exec rails s -p 3000 -b '0.0.0.0'
volumes:
- .:/app
ports:
- 3000:3000
depends_on:
- db
tty: true
stdin_open: true
db:
image: mysql:5.7
volumes:
- db-volume:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: password
volumes:
db-volume:
###1 新しいrailsprojectの作成
$ docker-compose run web rails new . --force --database=mysql
###2 database.ymlのセッティング
※DBファイルなのでインデントに注意
####database.ymlのpasswordとhostをdocker-compose.ymlでセットしたものに合わせる
database.yml
default: &default
adapter: mysql2
encoding: utf8
pool: 5
username: root
password: password
host: db
development:
~略~
###3 dockerfileからビルド
$ docker-compose build
###4 コンテナの起動
$ docker-compose up -d
###5 データベースの構築
$ docker-compose run web rails db:create
####コンテナの立ち上げしてURLにhhtp://ip:3000でrailsたちあがる
###ip 検索
$ docker-machine ip default
###コンテナOFF
$ docker-compose stop
##おまけ
####dockerでERROR: Encountered errors while bringing up the project.というエラーが出た時に
$ docker stop $(docker ps -q)
$ docker-compose up
とやるとうまくいった。
参考 https://remonote.jp/docker-mac-rails-postgresql