BETA

学習メモ〜Dockerによる環境構築〜

投稿日:2020-06-08
最終更新:2020-06-15

Docker上でRailsの環境構築

Ruby on Railsの環境構築はOS・gemやrubyのバージョンの依存関係でごちゃごちゃになり個々の環境だとエラーが多発しがち

今回のメモはDockerを利用し簡単にRailの環境を構築できるようにするのがゴール

作成するもの

  • Dockerfile
  • docker-compose.yml
  • Gemfile
  • Gemfile.lock

構築手順

  • Dockerfileを作成しrubyバージョンを指定
FROM ruby:2.3.3  

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  

ADD Gemfile /myapp/Gemfile  
ADD Gemfile.lock /myapp/Gemfile.lock  

RUN bundle install  
ADD . /myapp  
  • Gemfileを作成しRailsのバージョンを指定する
source 'https://rubygems.org'  
gem 'rails', '5.0.0.1'  
  • 空のGemfile.lockを作成
  • 一元管理するコンテナを指定(docker-compose.yml
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  

作業開始前に

  • プロジェクト作成

    $ docker-compose run web rails new . —force —database=mysql —skip-bundle  
  • DBhostの修正(config/database.yml

default: &default  
    adapter: mysql2  
    encoding: utf8  
    pool: 5  
    username: root  
    password: root # docker-compose.ymlのMYSQL_ROOT_PASSWORDに変更  
    host: db # docker-compose.ymlのサービス名に変更  
  • コンテナ起動
    `shell

    コンテナをビルド

    $ docker-compose build

コンテナの一斉起動

$ docker-compose up


* DB作成  
```shell  
$ docker-compose run web rails db:create  

参考:
Docker入門 #5 【Ruby on Rails5環境構築】 - Qiita

技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
駆け出しエンジニアからエキスパートまで全ての方々のアウトプットを歓迎しております!
or 外部アカウントで 登録 / ログイン する
クランチについてもっと詳しく

この記事が掲載されているブログ

借金の為に風俗業界で働く@rakuda_ioが限られた時間に本気で勉強してWEBエンジニアを目指す為の勉強記録です。 コード書くの楽しい〜〜〜〜〜(・∀・)

よく一緒に読まれる記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう