目次

07.Windows10にDockerでRails5環境構築

Ruby on Rails トップページ

Ruby on Railsチュートリアル 5.1をやりたい。
https://railstutorial.jp/chapters/beginning?version=5.1

2022年1月時点

以下に記載しました

https://i-doctor.sakura.ne.jp/font/?p=48294
Docker Desktop for Windowsを試してみる(8)Railsチュートリアル第4版(Rails5.1)の環境構築【2022年1月時点】
2022年1月28日

開発環境

『Wndows Docker Desktop』+『WSL2のUbuntu』+VSCodeのセットアップについては「Docker for Windowsを試してみる(1)WSL2とWindows Desktopのインストール」をご参照ください。

Windows10 + WSL2 Ubuntu + Docker desktopにRails5.1.6 + Postgre環境を構築

webコンテナ(Dockerfileから作成したイメージから作成)とdbコンテナをdocker-composeでupします。

  1. WindowsのスタートボタンからDocker Desktopを起動
  2. WSL2を起動し、VisualStudioCodeを起動
mkdir rais5
cd rails5
code .
  1. Dockerfileを元にしてwebコンテナ用のイメージ(設計図)を作成
docker-compose run --no-deps web rails new . --force --database=postgresql
ls -l
docker-compose build
sudo chown -R $USER:$USER .
  1. データベースとしてpostgresqlを用いるためにconfig/database.ymlを書き換えて、Ctrl+S で保存
  2. docker-compose upでwebコンテナ(上で作ったイメージを元に作成)と、dbコンテナ(DockerHubにあるイメージimage: postgresを元に作成)を作成し、連携
  3. rake:db createでデータベースを作成
  4. WindowsのWebブラウザで、localhost:3000にアクセス
docker-compose up -d
docker-compose run web rake db:create

http://localhost:3000

Dockerを止めるとき(アプリを止めるとき)

docker-compose down

Rails5.1 チュートリアル用

Gemfileに追加

gem 'jquery-rails'

Gemfileを更新したら、以下を実行。Dockerイメージをビルドしなおす必要あり。時間がかかる。

docker-compose run web bundle install
docker-compose down
docker-compose up --build -d

docker-compose up –build しない(docker-compose up -dだけ実行)と、Dockerのwebコンテナが起動してもすぐに自動的にストップしてしまい、Railsを動かすことができない。
Gemfileにjquery-railsを入れると、Railsが動かない。わけではなかった。)

https://qiita.com/Masa9/items/cc36f9223e6ce1f0a8a9
@Masa9
更新日 2021年03月02日
dockerでgemを追加したときにbundle installではなくbuildする

https://teratail.com/questions/302733
【Rails】Gemfileを追加してDockerを再起動したらlocalhostに接続できなくなった
_chii
投稿2020/11/06 22:43

第3章

https://railstutorial.jp/chapters/static_pages?version=5.1#sec-static_pages

docker-compose exec web run
rails:db create

見出し

Ruby on Rails トップページ