田んぼ

主に近況について書いていきます

Rails 6.0をDockerを使って動かしてみた

久しぶりにWebプログラミングをしたくなったのでやってみました

こちらの記事を参考にしました

qiita.com

しかしこれだけでは動かず、ちょっと修正する必要があったのでメモ

では早速書いていきます

作業ディレクトリ名は blog-app です

./blog-app/docker-compose.yml

version: '3'

services:
    db:
        image: mysql:5.7
        environment:
            MYSQL_ROOT_PASSWORD: password
            MYSQL_DATABASE: root
        volumes:
            - db_data:/var/lib/mysql
        ports:
            - "3306"
    app:
        build:
            context: .
            dockerfile: ./containers/app/Dockerfile
        command: bundle exec rails s -p 3000 -b '0.0.0.0'
        volumes:
            - .:/blog-app
            - ruby_gems:/usr/local/bundle
        ports:
            - "3000:3000"
        links:
            - db
volumes:
    db_data:
    ruby_gems:

./blog-app/containers/app/Dockerfile

FROM ruby:2.5.3
ENV LANG C.UTF-8

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

# install nodejs LTS Release ver
RUN curl -sL https://deb.nodesource.com/setup_10.x | bash -
RUN apt-get install -y nodejs

# install yarn
RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
RUN echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list
RUN apt-get update && apt-get install yarn

RUN mkdir /blog-app

ENV APP_ROOT /blog-app
WORKDIR $APP_ROOT

ADD ./Gemfile $APP_ROOT/Gemfile
ADD ./Gemfile.lock $APP_ROOT/Gemfile.lock

RUN bundle install
ADD . $APP_ROOT

まずRails 6.0を動かすためにはRuby 2.5以上が必要なので、2.5以上のイメージを取得します

加えてwebpackerが標準でインストールされるため、新し目のnodejsとyarnもインストールします

残りの設定や起動方法は@azul915さんの記事を参考にすればできました

f:id:PochecoPachico:20190712055141p:plain
いつもの

備忘録でした…