サクッと作る Windows10 HOMEでrails環境構築

2019-12-18

Doker-for-Rails

https://github.com/itomofumi/docker-for-Rails

下準備

Windows10 Homeの場合 DockerToolBoxをダウンロードしてインストール https://www.docker.com/get-docker

ファイル生成

  • docker-compose.yml
  • Dockerfile
  • Gemfile
  • Gemfile.lock
それぞれ作成する ・dokcer-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:
Dockerfile
FROM ruby:2.5.0<br>
RUN apt-get update -qq && apt-get install -y build-essential nodejs<br>
RUN mkdir /app<br>
WORKDIR /app<br>
COPY Gemfile /app/Gemfile<br>
COPY Gemfile.lock /app/Gemfile.lock<br>
RUN bundle install<br>
COPY . /app
・Gemfile
source 'https://rubygems.org'
gem 'rails', '5.0.0.1'
・Gemfile.lock は空でok

PFU Happy Hacking Keyboard Professional BT 日本語配列/墨 PD-KB620B

アプリを生成

rails newでアプリを生成
$ docker-compose run web rails new . --force --database=mysql

build

$ docker-compose build

config/database.yml を補正

アプリが生成されたら、config/database.ymlのpassword と hostをdocker-compose.ymlの設定と合わせる
default: &default
  adapter: mysql2
  encoding: utf8
  pool: 5
  username: root
  password: password  # docker-compose.yml MYSQL_ROOT_PASSWORDの設定に補正
  host: db  # docker-compose.yml services:depends_on 設定に補正

development:
  <<: *default
  database: app_development

コンテナUP

$ docker-compose up -d

MySQLのインスタンスを作成

Rails上にMySQLのインスタンスを作成
$ docker-compose run web bundle exec rake db:create

IPを確認してブラウザにアクセス

下記コマンドでdockerマシンのIPを確認
$ docker-machine ip
192.168.99.100:3000
ブラウザを起動して確認したIPでアクセス
http://192.168.99.100:3000
アクセスしてYay! You’re on Rails!が表示できれば完了です

Docker

Posted by kusana2