27歳未経験でエンジニア転職した元営業マン

アルバイトで半年間をドブに捨てた後、2ヶ月でエンジニア転職した記録

DcokerでRailsの環境構築してみた(Mac編)

新規ディレクトリを作成→ディレクトリに移動

$ mkdir mkdir myapp
$ cd myapp

Dockerfileを作成し、中身を記述

$ touch Dockerfile
FROM ruby:2.5.1

# RUN apt-get update -qq && apt-get install -y build-essential libpq-dev nodejs
RUN apt-get update -qq
RUN apt-get install -y build-essential 
RUN apt-get install -y libpq-dev
RUN apt-get install -y nodejs

# ワーキングディレクトリの設定
RUN mkdir /myapp
WORKDIR /myapp

# gemfileを追加する
ADD Gemfile /myapp/Gemfile
ADD Gemfile.lock /myapp/Gemfile.lock

# gemfileのinstall
RUN bundle install
ADD . /myapp

Gemfileを作成

$ touch Gemfile

Gemfile内を下記の内容に書き換える

source 'https://rubygems.org'
gem 'rails', '5.2.1'

空のGemfile.lockの作成

$ touch Gemfile.lock

docker-compose.yml作成

version: '3'
services:
  db:
    image: mysql:5.7
    environment:
      MYSQL_ROOT_PASSWORD: root

  web:
    build: .
    command: bundle exec rails s -p 3000 -b '0.0.0.0'
    volumes:
      - .:/myapp
    ports:
      - "3000:3000"
    links:
      - db

Rails new の実行

$ docker-compose run web rails new . --force --database=mysql --skip-bundle

DBhostを修正

default: &default
  adapter: mysql2
  encoding: utf8
  pool: 5
  username: root
  password: root # docker-compose.ymlのMYSQL_ROOT_PASSWORD 
  host: db       # docker-compose.ymlのサービス名

Dockerの起動

$ docker-compose build # コンテナをビルド
$ docker-compose up # コンテナの一斉起動

DBの作成

$ docker-compose run web rails db:create

ブラウザで確認

http://localhost:3000/

f:id:h2meo:20181006235642p:plain