LoginSignup
1
1

DockerでRailsサイトをVPS構築

Last updated at Posted at 2023-07-03

Overview

  • RailsウェブアプリをVPS上にDockerを使って構築。
  • 最近マイブームのVPSとDockerの環境が快適すぎる。
  • ひとまずhello,Worldするまで。

Get Started!

[Docker公式の参考記事](https://docs.docker.jp/compose/rails.html?highlight=rails)

  1. VPS契約
    • おすすめはXserver4GB(¥2,000/月くらい)
  2. Linux上にユーザー作成
    • 最低限のセキュリティ対策
    • ディレクトリがごちゃつかないように
    • その後のチーム開発等に備えて
  3. Dockerエンジンのインストール
    • sudo権限が必要
  4. Dockerfile
    • 一番シンプルに
  5. docker-compose.yml
    • dbとwebの2つのコンテナを作成
  6. docker-compose up -d
    • コンテナの状況確認
    • ログを出してみる
  7. アクセス
    • どこにアクセスすれば良いのか

Dockerfile

Dockerfile
FROM ruby:3.2.2
RUN apt-get update -qq && apt-get install -y build-essential libpq-dev nodejs
RUN mkdir /myapp
WORKDIR /myapp
ADD Gemfile /myapp/Gemfile
ADD Gemfile.lock /myapp/Gemfile.lock
RUN bundle install
ADD . /myapp

docker-compose.yml

docker-compose.yml
version: '3'
services:
  db:
    image: postgres
    environment:
      POSTGRES_DB: "db"
      POSTGRES_HOST_AUTH_METHOD: "trust"
  web:
    build: .
    command: >
      /bin/sh -c '
        rm -f tmp/pids/server.pid &&
        rails db:create &&
        bundle exec rails s -p 3000 -b '0.0.0.0'
      '
    volumes:
      - .:/myapp
    ports:
      - "3000:3000"
    depends_on:
      - db

Gemfile変更したら

  • bundleコマンドはDockerfileの中なのでimageを作り直す必要がある。
// imageを作り直して
docker-compose build

// コンテナも起動
docker-compose up -d

Memo

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1