目次
02.windows10にdockerでrails7環境構築
リンク
https://i-doctor.sakura.ne.jp/font/?p=47014
Docker Desktop for Windowsを試してみる(3)Windows10でWindowsとwsl2間でのファイルのコピー
2022年1月28日
https://zenn.dev/kino_puehddby/articles/21a3cf0aacee7c
【Rails7】DockerでRuby on Railsアプリを構築してHerokuにデプロイするまで
https://qiita.com/FUSe_wadthee/items/50d772cfaf9dbb767578
@FUSe_wadthee
更新日 2022年03月15日
ええ!?Getting Started with Rails(7)で詰まるなんてあっていいんですか!
https://zenn.dev/mingos/articles/c4b4fce7e5368f
DockerでRails6+PostgreSQLの開発環境を構築する
2022/04/08に公開
https://mseeeen.msen.jp/rails-docker/
Docker 上で Ruby on Rails 7 の開発環境を構築してみた
2022.06.15
https://qiita.com/normalsalt/items/8bf6c5010c9e9f127582
@normalsalt
更新日 2022年03月04日
Ruby on Rails 7 with Bootstrap on Docker Compose 開発環境を簡単に構築する方法
https://zenn.dev/dragonarrow/articles/48e4257c5fcbe7
Rails7 のステージング環境(Docker)を楽々に作成してSSL化する
2022/09/04
今回構築した環境で再開するときはdocker-compose up -d
docker-compose downでDockerコンテナを止めて、パソコンを終了した後、パソコンを再起動したら、
- Windows Docker Desktopを起動
- WSL2のUbuntuを起動
- cd rails7 && code .
- VisualStudioCodeが開くので、Ctrl+@でターミナル画面を出す
- docker-compose up -d
- WEBブラウザで、localhost:3000/ を開く
とします。なお、rails g scaffold などをしたい場合は、
docker-compose exec web bash
で、webコンテナに入ってから実行します。webコンテナのbashから出るときは、
exit
で出ます。
新しいファイルを作成したような場合は、WSL2で以下のコマンドを入力する必要があることがあります。
sudo chown -R $USER:$USER .
Gemfileを更新したとき
docker-compose run web bundle install docker-compose down docker-compose up --build -d
イメージをビルドしなおすので時間はかかる。
https://teratail.com/questions/373578
DockerコンテナでRailsでアプリを作りたい。docker-composeで出るエラー
PolymetisOutis7
投稿2021/12/13 15:45
https://qiita.com/gyu_outputs/items/1cc1903db802daf0fdbc
@gyu_outputs
投稿日 2020年03月31日
更新日 2020年06月07日
dockerでGemfile(gem追加)更新したら後、データベースが消えた、gemが反映しない
Dockerイメージを持ち運びたいとき
https://blog.amedama.jp/entry/2017/11/01/204637
2017-11-01
Docker イメージをファイルでやり取りする
基本的に Docker イメージ
突然Dockerがアンインストールされたり、docker-composeが使えなくなってしまったら
https://qiita.com/lukapla/items/c4f1029cc18e7ee99951
@lukapla
投稿日 2020年05月31日
Ubuntu 20.04でapt install docker-composeでインストールしたらバージョンが古くてエラーが発生
https://qiita.com/suaaa7/items/744f58319c04d9b6bfbe#7-docker-compose%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB
@suaaa7
投稿日 2019年08月25日
WSL2でdocker-composeを使えるようにするまで
見出し
https://qiita.com/kodai_0122/items/67c6d390f18698950440
@kodai_0122
更新日 2019年11月18日
Rails6の本番環境でBlocked hostエラーが発生したときの対処法
config/environments/development.rb
production.rb ?
見出し
Windows10で、Windows Docker Desktopを用いてRails7+PostgreSQLの開発環境を構築する方法を以下に記載しましたので、もしよろしければリンク先をご覧ください。
https://i-doctor.sakura.ne.jp/font/?p=46757
Docker Desktop for Windowsを試してみる(1)WSL2とWindows Desktopのインストール
2021年9月21日
https://i-doctor.sakura.ne.jp/font/?p=46947
Docker Desktop for Windowsを試してみる(2)Swiftコンテナを作成してSwiftを動かしてみる
2021年9月18日
https://i-doctor.sakura.ne.jp/font/?p=47014
Docker Desktop for Windowsを試してみる(3)Windows10でWindowsとwsl2間でのファイルのコピー
2021年9月18日
https://i-doctor.sakura.ne.jp/font/?p=47130
Docker Desktop for Windowsを試してみる(4)Windows10+WSL2+DockerDesktopでJupyterLab環境構築してみる
2021年9月18日
https://i-doctor.sakura.ne.jp/font/?p=48081
Docker Desktop for Windowsを試してみる(5)Windows10+WSL2+DockerDesktopでWordPressを環境構築してみる
2022年1月16日2022年1月17日
https://i-doctor.sakura.ne.jp/font/?p=48078
Docker Desktop for Windowsを試してみる(6)Windows10+WSL2+DockerDesktopでRuby on Rails7+PostgreSQLを環境構築してみる【2022年1月時点】
2022年1月17日
開発環境
Windows 10 Pro 21H1 Hyper-Vを有効化 Windows Docker Desktop 4.0.0 VisualStudioCode (wsl用の拡張機能インストール済み) WSL2 Ubuntu 20.04 LTS VisualStudioCode (+拡張機能 )
『Wndows Docker Desktop』+『WSL2のUbuntu』+VSCodeのセットアップについては「Docker for Windowsを試してみる(1)WSL2とWindows Desktopのインストール」をご参照ください。
Windows10 + WSL2 Ubuntu + Docker desktopにRail7 + Postgre環境を構築
webコンテナ(Dockerfileから作成したイメージから作成)とdbコンテナをdocker-composeでupします。
- WindowsのスタートボタンからDocker Desktopを起動
- WSL2を起動し、VisualStudioCodeを起動
mkdir rais7 cd rails7 code .
- Dockerfileを元にしてwebコンテナ用のイメージ(設計図)を作成
docker-compose run --no-deps web rails new . --force --database=postgresql ls -l docker-compose build sudo chown -R $USER:$USER .
- データベースとしてpostgresqlを用いるためにconfig/database.ymlを書き換えて、Ctrl+S で保存
- docker-compose upでwebコンテナ(上で作ったイメージを元に作成)と、dbコンテナ(DockerHubにあるイメージimage: postgresを元に作成)を作成し、連携
- rake:db createでデータベースを作成
- WindowsのWebブラウザで、localhost:3000にアクセス
docker-compose up -d docker-compose run web rake db:create
Dockerを止めるとき(アプリを止めるとき)
docker-compose down
一度作成したコンテナを再度起動するとき
- WindowsのスタートボタンからDocker Desktopを起動
- WSL2を起動し、VisualStudioCodeを起動 cd rails7 && code .
- “Ctrl+@“でターミナル画面を起動して、docker-compose up -d
- なお、webコンテナに入りたいとき(rails scaffoldなど使いたいとき)は、以下のコマンド(WSL2に戻るときは、exit)
docker-compose exec web bash
Windows10 docker rails
https://guides.rubyonrails.org/getting_started.html
Getting Started with Rails
→Rails6のインストールには以下が必要
- Ruby
- SQLite3 (開発環境でsqliteを使用する場合)
- Node.js (Rails7ではとりあえず不要)
- Yarn (Rails7ではとりあえず不要)
Ruby 3.1 on Rails 7
- Dockerfile
- Gemfile
- Gemfile.lock
- entrypoint.sh
- docker-compose.yml
流れ
- 目標は、webコンテナ(Railsの入ったコンテナ)と、dbコンテナ(PostgreSQLの入ったコンテナ)を作成し、連携すること
- 5つのファイルを作成
- Dockerfileを元にしてwebコンテナ用のイメージ(設計図)を作成
- ただし、webコンテナを作成するときに、毎回、「Rails に対応したファイル server.pid が存在しているかもしれないので削除する。」ために、entrypoint.shを実行するようにしておく
- Gemfile, Dockerfileを修正したら、毎回、docker-compose build
- データベースとしてpostgresqlを用いるためにconfig/database.ymlを書き換える
- docker-compose upでwebコンテナ(上で作ったイメージを元に作成)と、dbコンテナ(DockerHubにあるイメージimage: postgresを元に作成)を作成し、連携 、docker-compose up
- railsのデータベースを作成するため(?)にdocker-compose run web rake db:create
- ブラウザでlocalhost:3000を開く
- アプリを止めるときはdocker-compose down
- アプリを再開するときはdocker-compose up
- Gemfile や Compose ファイルを編集したときは、以下のように再ビルドが必要。
docker-compose run web bundle install docker-compose up --build
https://matsuand.github.io/docs.docker.jp.onthefly/samples/rails/
Dockerfile
# https://matsuand.github.io/docs.docker.jp.onthefly/samples/rails/ # Ruby 3.1 on Rails 7 FROM ruby:3.1.0 RUN apt-get update -qq && apt-get install -y nodejs postgresql-client WORKDIR /myapp COPY Gemfile /myapp/Gemfile COPY Gemfile.lock /myapp/Gemfile.lock RUN bundle install # コンテナー起動時に毎回実行されるスクリプトを追加 COPY entrypoint.sh /usr/bin/ RUN chmod +x /usr/bin/entrypoint.sh ENTRYPOINT ["entrypoint.sh"] EXPOSE 3000 # イメージ実行時に起動させる主プロセスを設定 CMD ["rails", "server", "-b", "0.0.0.0"]
Gemfile
source 'https://rubygems.org' gem 'rails', '~>7'
Gemfile.lock
→何も記載しない
entrypoint.sh
#!/bin/bash set -e # Rails に対応したファイル server.pid が存在しているかもしれないので削除する。 rm -f /myapp/tmp/pids/server.pid # コンテナーのプロセスを実行する。(Dockerfile 内の CMD に設定されているもの。) exec "$@"
docker-compose.yml
version: "3.9" services: db: image: postgres volumes: - ./tmp/db:/var/lib/postgresql/data environment: POSTGRES_PASSWORD: password web: build: . command: bash -c "rm -f tmp/pids/server.pid && bundle exec rails s -p 3000 -b '0.0.0.0'" volumes: - .:/myapp ports: - "3000:3000" depends_on: - db
以下を実行
コメントは#で記載
docker-compose run --no-deps web rails new . --force --database=postgresql ls -l # Gemfile, Dockerfileを修正したら、毎回、以下が必要 docker-compose build
config/database.yml を以下のように書き換える
default: &default adapter: postgresql encoding: unicode host: db username: postgres password: password pool: 5 development: <<: *default database: myapp_development test: <<: *default database: myapp_test
以下を実行
docker-compose up docker-compose run web rake db:create
http://localhost:3000 にアクセスすると、うまくいくと、画面が表示される。
Dockerを止めるとき(アプリを止めるとき)
docker-compose down
アプリを再び起動するとき
docker-compose up
Gemfile や Composeファイルを編集したときは、以下のように再ビルドが必要。
docker-compose run web bundle install docker-compose up --build
Dockerで構築したRailsではrailsコマンドを用いる場合はdocker-compose execしてコンテナに入ってから行う
https://alterbo.jp/blog/ryu3-2106/
Docker+MySQL+Railsの開発環境を作る
2021.06.21
docker-compose exec web bash
docker-compose execは
docker-compose exec コンテナ名 実行コマンド
で実行。 コンテナ名(web)はdocker-compose.ymlの「services:」の後に定義したもの。
https://smot93516.hatenablog.jp/entry/2019/05/22/161921
2019-05-22
【Rails】docker-composeでrails generateが使えず、Could not find rake ~~~~になる
https://zenn.dev/endo/articles/42309bdddc4fe0fabfd6
Rails】主要コマンドまとめ
2021.01.17
開発環境でのデータベースをsqlite3を用いる場合
Dockerfile
# Ruby 3.1 on Rails 7 FROM ruby:3.1.0 RUN apt-get update -qq && apt-get install -y nodejs postgresql-client sqlite3 WORKDIR /myapp COPY Gemfile /myapp/Gemfile COPY Gemfile.lock /myapp/Gemfile.lock RUN bundle install # コンテナー起動時に毎回実行されるスクリプトを追加 COPY entrypoint.sh /usr/bin/ RUN chmod +x /usr/bin/entrypoint.sh ENTRYPOINT ["entrypoint.sh"] EXPOSE 3000 # イメージ実行時に起動させる主プロセスを設定 CMD ["rails", "server", "-b", "0.0.0.0"]
https://self-development.info/ubuntu-20-04-lts%E3%81%ABsqlite%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B/
Ubuntu 20.04 LTSにSQLiteをインストールする
Gemfile
source 'https://rubygems.org' gem 'rails', '~>7'
database.yml
default: &default adapter: postgresql encoding: unicode host: db username: postgres password: password pool: 5 development: <<: *default database: myapp_development test: <<: *default database: myapp_test production: adapter: postgresql encoding: unicode host: db username: postgres password: password pool: 5 url: <%= ENV['DATABASE_URL'] %>
docker-compose run --no-deps web rails new .
見出し
https://qiita.com/na-777/items/fcccb48b4f3b549abe61
@na-777(株式会社イーリバースドットコム)
更新日 2021年09月22日
Windows10のWSL2(Ubuntu)でDockerを使ったRails環境構築
https://zenn.dev/az/articles/6e2a421f7a32446d827f
超丁寧なrails6 + MySQL on Dockerの環境構築
2020.11.21
https://zenn.dev/nakazawaken1/articles/0f5515cde2ddf3
Ruby 3.1 と Rails 7 のプロジェクトを Docker内で作成してみる
2022.01.14
https://qiita.com/shizen-shin/items/659880ca1c471b005eb0
@shizen-shin
更新日 2022年01月03日
【Rails6】Docker上にRailsアプリの開発環境を構築しCRUD操作する手順
https://docs.docker.jp/compose/rails.html
クィックスタート: Compose と Rails
https://matsuand.github.io/docs.docker.jp.onthefly/samples/rails/
クィックスタート: Compose と Rails
https://qiita.com/kodai_0122/items/795438d738386c2c1966
@kodai_0122
更新日 2020年02月27日
DockerでRuby on Railsの環境構築を行うためのステップ【Rails 6対応】
https://leez.info/archives/5023
Windows10 + Docker環境でRuby on Railsの環境を作る方法
2021年5月25日
https://zenn.dev/tmasuyama1114/articles/rails-docker-6x-how-to
Ruby on Railsの開発環境をDockerで構築する方法(Rails 6.x)
2021.03.30に公開
https://alterbo.jp/blog/ryu3-2106/
Docker+MySQL+Railsの開発環境を作る
2021.06.21
https://prograshi.com/framework/rails/rails6-on-docker/
【Rails6】Docker上にRailsアプリの開発環境を構築しCRUD操作する手順
2022.1.3
https://michinoku-se.org/docker-rails/
DockerでRailsローカル開発環境を爆速構築
更新日:2021-03-17
Windows10 docker wordpress
https://eeedotweb.com/blog/docker-local-wordpress/
【初心者向け】DockerでWordPressローカル開発環境を作成する方法(Mac用)
WordPress
2021.05.17
- MySQL 5.7
https://docs.docker.com/samples/wordpress/
Quickstart: Compose and WordPress
rails7
https://qiita.com/jnchito/items/5c41a7031404c313da1f#devise%E3%81%8Cturbo%E3%81%AB%E5%AF%BE%E5%BF%9C%E3%81%97%E3%81%A6%E3%81%84%E3%81%AA%E3%81%84
@jnchito
更新日 2022年04月20日
Rails 7.0 + Ruby 3.1でゼロからアプリを作ってみたときにハマったところあれこれ
https://zenn.dev/kenzan100/articles/0f9b100655a4bf
Rails7がもつフロントエンドへの「答え」
2021.09.17
https://www.publickey1.jp/blog/22/ruby_31rails_701ruby_31_on_rails_7.html
Ruby 3.1に対応したRails 7.0.1がリリース。「Ruby 3.1 on Rails 7」が実現
2022年1月11日
https://qiita.com/jnchito/items/5c41a7031404c313da1f
@jnchito
更新日 2022年01月28日
Rails 7.0 + Ruby 3.1でゼロからアプリを作ってみたときにハマったところあれこれ
Docker
https://zenn.dev/o2z/articles/zenn-20210622_wsl_directory
エクスプローラでWSL2(ubuntu)のディレクトリを開く方法
2021年8月7日
https://snowsystem.net/container/docker/docker-wsl-dev-env-react/
Reactの開発環境(WSL2+docker)構築から本番環境(DockerHub+kubernetes)へのデプロイ手順まとめ
2021年1月3日
https://qiita.com/zembutsu/items/24558f9d0d254e33088f
@zembutsu(さくらインターネット株式会社)
更新日 2021年11月21日
Organization
Dockerイメージの理解を目指すチュートリアル
見出し