👏
Rails + PostgreSQL環境の構築
はじめに
とにかく簡単にDockerとDocker composeを試してみたいという人向けの記事です。
下記の記事を参考にRails + PostgreSQLの環境を構築していきます。
Dockerfileの作成
ファイル名はDockerfileとしてください。
Dockerfile
FROM ruby
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
Gemfileの準備
GemfileとGemfile.lock(空ファイル)を作成します。
Gemfile
source 'https://rubygems.org'
gem 'rails'
docker-compose.ymlの作成
version: '3.8'
services:
db:
image: postgres
environment:
- POSTGRES_PASSWORD=password
web:
build: .
command: bundle exec rails s -p 3000 -b '0.0.0.0'
volumes:
- .:/myapp
ports:
- "3000:3000"
depends_on:
- db
docker compose up & run
rails newにより初期化を行います。
docker-compose run web rails new . --force --database=postgresql
sudo chown -R $USER:$USER .
docker-compose build
config/database.ymlの編集
default :&default内に下記を追記します。
host: db
username: postgres
password: password
pool: 5
docker compose up&run
コンテナをバックグラウンドで起動し、データベースを作成します。
docker-compose up -d
docker-compose run web rake db:create
ウェブページにアクセス
ブラウザのURLにlocalhost:3000を入力してアクセス
コンテナの終了
docker compose down
Discussion