0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

5分で終わる!最も簡単にlocalでRailsを動かす

Last updated at Posted at 2024-11-17

導入

今回は最新のrails8を最も簡単にセットアップして動くようにするコードを用意したので軽い検証や初めてrailsを使う方はぜひ使ってみてください!

必要なもの

これだけです!
初学者向けに今回はvscodeで説明していますがエディターはなんでもいいです

手順

gitが普通に使える方は以下のリポジトリからクローンしてREADME.md通りに構築してください

gitがよくわからない方は以下の手順で進めてください

  1. 適当な空のフォルダを開きます
    スクリーンショット 2024-11-17 17.49.18.png

2. `Dockerfile.local`, `Makefile`, `setup.sh` の3つのファイルを作成します

スクリーンショット 2024-11-17 18.08.32.png


3. それぞれの中身は以下をコピペしてください

Dockerfile.local

FROM ruby:3.3.6-slim-bullseye
RUN apt-get update -qq && apt-get install -y \
  build-essential \
  sqlite3 \
  libsqlite3-dev \
  git
WORKDIR /usr/src/app
ENV BUNDLE_PATH=/usr/src/app/vendor/bundle
RUN echo "source 'https://rubygems.org'\ngem 'rails', '~> 8.0.0'\ngem 'sqlite3'" > Gemfile && \
    touch Gemfile.lock
COPY setup.sh /usr/src/app/setup.sh
RUN chmod +x /usr/src/app/setup.sh
RUN bundle install
EXPOSE 3000
ENTRYPOINT ["sh", "/usr/src/app/setup.sh"]

setup.sh

#!/bin/bash

if [ ! -f /usr/src/app/Gemfile ]; then
  rails new . --database=sqlite3 --skip-bundle --force --skip-git
fi

bundle install
bundle exec rails db:migrate
rm -f tmp/pids/server.pid
bundle exec rails server -b 0.0.0.0

Makefile

CONTAINER_NAME = rails-container
IMAGE_NAME = rails-sample-app

build:
	docker build -t $(IMAGE_NAME) . -f Dockerfile.local
run:
	docker run --rm -p 3000:3000 \
		-v $(PWD):/usr/src/app \
		-v $(PWD)/vendor/bundle:/usr/src/app/vendor/bundle \
		--name $(CONTAINER_NAME) $(IMAGE_NAME)
c:
	docker exec -it $(CONTAINER_NAME) bundle exec rails c
bash:
	docker exec -it $(CONTAINER_NAME) bash
stop:
	@docker ps -q -f name=$(CONTAINER_NAME) | xargs -r docker stop

4 . ターミナルを開いてください
スクリーンショット 2024-11-17 18.09.41.png

ターミナルに以下のコマンドを打ちます

make build
make run

ターミナルが写真のようになった後、http://localhost:3000 にアクセスしてrailsの画面が表示されれば成功です
スクリーンショット 2024-11-17 18.27.06.png

コンテナを落としたい時はcontrol + c だけだとコンテナは止まらないので make stop をするかdocker desktopで手動で止めてください


rails consoleを開きたい場合は

make c

コンテナに入りたい場合は

make bash

を使ってください

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?