Docker를 사용한 Ruby on Rails6 환경 구축

Docker와 docker-compose를 사용하여 Ruby on Rails6 환경을 구축했습니다.

전제



Docker & docker-compose 설치됨

운영 환경


  • macOS Catalina 10.15.7
  • Docker 20.10.2
  • docker-compose 1.27.4


  • 디렉토리를 만듭니다.
    mkdir rails_api_docker
    cd rails_api_docker
    
    Gemfile Dockerfile docker-compose.yml 를 작성합니다.

    Gemfile
    source 'https://rubygems.org'
    
    gem 'rails', '6.0.3'
    

    Dockerfile
    FROM ruby:2.7.1-alpine3.11
    
    ENV BUNDLER_VERSION=2.1.4
    
    WORKDIR /usr/src/app
    
    COPY Gemfile .
    COPY Gemfile.lock .
    
    RUN apk update && \
        apk add --no-cache \
        shared-mime-info \
        yarn \
        nodejs \
        linux-headers \
        libxml2-dev \
        curl-dev \
        make \
        gcc \
        libc-dev \
        g++ \
        sqlite-dev \
        tzdata && \
        gem install bundler && \
        bundle install
    
    COPY . .
    
    EXPOSE 3000
    

    docker-compose.yml
    version: '3'
    services: 
      web:
        build: .
        ports: 
          - '3000:3000'
        volumes: 
          - .:/usr/src/app
        tty: true
        command: ["rails", "server", "-b", "0.0.0.0"]
    


    docker-compose를 사용하여 Rails 애플리케이션을 만듭니다.
    docker-compose run web rails new . --force
    

    Docker 이미지를 다시 빌드합니다.
    docker-compose build
    

    docker-compose를 시작합니다.
    docker-compose up
    
    localhost:3000 로 이동하여 다음이 표시되면 성공합니다.


    읽어 주셔서 감사합니다! 지적이나 의견 등 있으면 댓글을 주시면 기쁩니다 🐳

    좋은 웹페이지 즐겨찾기