BETA

DockerでRails環境構築 最小パーツ+最短手順

投稿日:2020-02-03
最終更新:2020-02-11

毎回書くの面倒臭いので備忘録的に。
なんとなくで書いたので間違いあったら教えてください。

1. Gemfile Gemfile.lock(空)作成

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

2. Dockerfile作成

FROM ruby:2.6  
RUN apt-get update -qq && \  
    apt-get install -y build-essential \   
                       default-mysql-client \          
                       nodejs \  
RUN mkdir /myapp  
WORKDIR /myapp  
ADD ./Gemfile /myapp/Gemfile  
ADD ./Gemfile.lock /myapp/Gemfile.lock  
RUN bundle install  
ADD . /myapp  

3. docker-compose.yml作成

version: '3'  
services:  
 web:  
  build: .  
  ports:  
   - '3000:3000'  
   -   
  volumes:  
   - .:/myapp  
  depends_on:  
   - db  
 db:  
  image: mysql:5.7  

ex. db永続化する場合

dbのホスト側にvolume名:コンテナpath
その後toplevelにvolume名定義

version: '3'  
services:  
  db:  
    image: mysql:5.7  
    environment:  
      MYSQL_ROOT_PASSWORD: password  
      MYSQL_USER: root  
    volumes:  
      - mysql_data:/var/lib/mysql  
  web:  
    build: .  
    command: rails s -p 3000 -b '0.0.0.0'  
    volumes:  
      - .:/myapp  
    ports:  
      - "3000:3000"  
    depends_on:  
      - db  
volumes:  
    mysql_data:  

4. 仕上げ

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

database.ymlの  
hostをlocalhost→db  
password: password  
user: root  
に変更  

docker-compose build  
docker-compose run web rails db:create  
docker-compose up -d  

これでlocalhost:3000に繋がるはず

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

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

備忘録的なブログ 昨日の自分が欲しかった記事を書いて行こうと思います 基本週2でのんびり 綺麗なコードをかきたい

よく一緒に読まれる記事

0件のコメント

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