質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
Next.js

Next.jsは、Reactを用いたサーバサイドレンダリングなどを行う軽量なフレームワークです。Zeit社が開発しており、nextコマンドでプロジェクトを作成することにより、開発環境整備が整った環境が即時に作成できます。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

解決済

Rails7系/Next.js/MySQLをDockerで起動したい

kaze0000
kaze0000

総合スコア9

Next.js

Next.jsは、Reactを用いたサーバサイドレンダリングなどを行う軽量なフレームワークです。Zeit社が開発しており、nextコマンドでプロジェクトを作成することにより、開発環境整備が整った環境が即時に作成できます。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

1回答

0リアクション

0クリップ

246閲覧

投稿2022/07/22 14:03

前提

Dockerfileやdocker-composse.ymlの記載内容が間違っている可能性もあり、
その点も確認いただけると幸いです。

実現したいこと

  • Rails7系 Next.js MySQLをDockerで起動したい

発生している問題・エラーメッセージ

  • まず、ルートディレクトリで docker-compose upをします。

イメージ説明

  • localhost:8000に移動すると、Next.jsは起動し、welcome to next.js が出現します
  • ですが、localhost:3000に移動すると、「このサイトにアクセスできません」となります。
  • docker compose up した際にターミナルには以下のようなエラーが表記されています。
Could not find mysql2-0.5.4, puma-5.6.4, bootsnap-1.12.0, debug-1.6.1, msgpack-1.5.3, reline-0.3.1 in any of the sources api_1 | Run `bundle install` to install missing gems.

該当のソースコード

docker-compose.yml

ruby

version: "3.7" services: db: image: mysql:5.7 environment: MYSQL_ROOT_PASSWORD: password MYSQL_DATABASE: root ports: - "3306:3306" volumes: - ./tmp/db:/var/lib/mysql api: tty: true depends_on: - db build: context: ./api/ dockerfile: Dockerfile ports: - 3000:3000 volumes: - ./api:/app command: rails server -b 0.0.0.0 front: build: context: ./front/ dockerfile: Dockerfile volumes: - ./front/app:/usr/src/app command: "yarn dev" ports: - "8000:3000"

front/Dockerfile

ruby

FROM node:14-alpine WORKDIR /usr/src/app

api/Dockerfile

ruby

FROM ruby:3.1.1 RUN apt-get update && apt-get install -y curl apt-transport-https wget && \ curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - && \ echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list && \ apt-get update && apt-get install -y yarn WORKDIR /app COPY Gemfile /app/Gemfile COPY Gemfile.lock /app/Gemfile.lock RUN bundle install # Add a script to be executed every time the container starts. COPY entrypoint.sh /usr/bin/ RUN chmod +x /usr/bin/entrypoint.sh ENTRYPOINT ["entrypoint.sh"] EXPOSE 3000 # Configure the main process to run when running the image CMD ["rails", "server", "-b", "0.0.0.0"]

Gemfile

ruby

source "https://rubygems.org" git_source(:github) { |repo| "https://github.com/#{repo}.git" } ruby "3.1.1" # Bundle edge Rails instead: gem "rails", github: "rails/rails", branch: "main" gem "rails", "~> 7.0.3", ">= 7.0.3.1" # Use mysql as the database for Active Record gem "mysql2", "~> 0.5" # Use the Puma web server [https://github.com/puma/puma] gem "puma", "~> 5.0" # Build JSON APIs with ease [https://github.com/rails/jbuilder] # gem "jbuilder" # Use Redis adapter to run Action Cable in production # gem "redis", "~> 4.0" # Use Kredis to get higher-level data types in Redis [https://github.com/rails/kredis] # gem "kredis" # Use Active Model has_secure_password [https://guides.rubyonrails.org/active_model_basics.html#securepassword] # gem "bcrypt", "~> 3.1.7" # Windows does not include zoneinfo files, so bundle the tzinfo-data gem gem "tzinfo-data", platforms: %i[ mingw mswin x64_mingw jruby ] # Reduces boot times through caching; required in config/boot.rb gem "bootsnap", require: false # Use Active Storage variants [https://guides.rubyonrails.org/active_storage_overview.html#transforming-images] # gem "image_processing", "~> 1.2" # Use Rack CORS for handling Cross-Origin Resource Sharing (CORS), making cross-origin AJAX possible # gem "rack-cors" group :development, :test do # See https://guides.rubyonrails.org/debugging_rails_applications.html#debugging-with-the-debug-gem gem "debug", platforms: %i[ mri mingw x64_mingw ] end group :development do # Speed up commands on slow machines / big apps [https://github.com/rails/spring] # gem "spring" end

Gemfile.lock

ruby

GEM remote: https://rubygems.org/ specs: actioncable (7.0.3.1) actionpack (= 7.0.3.1) activesupport (= 7.0.3.1) nio4r (~> 2.0) websocket-driver (>= 0.6.1) actionmailbox (7.0.3.1) actionpack (= 7.0.3.1) activejob (= 7.0.3.1) activerecord (= 7.0.3.1) activestorage (= 7.0.3.1) activesupport (= 7.0.3.1) mail (>= 2.7.1) net-imap net-pop net-smtp actionmailer (7.0.3.1) actionpack (= 7.0.3.1) actionview (= 7.0.3.1) activejob (= 7.0.3.1) activesupport (= 7.0.3.1) mail (~> 2.5, >= 2.5.4) net-imap net-pop net-smtp rails-dom-testing (~> 2.0) actionpack (7.0.3.1) actionview (= 7.0.3.1) activesupport (= 7.0.3.1) rack (~> 2.0, >= 2.2.0) rack-test (>= 0.6.3) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.0, >= 1.2.0) actiontext (7.0.3.1) actionpack (= 7.0.3.1) activerecord (= 7.0.3.1) activestorage (= 7.0.3.1) activesupport (= 7.0.3.1) globalid (>= 0.6.0) nokogiri (>= 1.8.5) actionview (7.0.3.1) activesupport (= 7.0.3.1) builder (~> 3.1) erubi (~> 1.4) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.1, >= 1.2.0) activejob (7.0.3.1) activesupport (= 7.0.3.1) globalid (>= 0.3.6) activemodel (7.0.3.1) activesupport (= 7.0.3.1) activerecord (7.0.3.1) activemodel (= 7.0.3.1) activesupport (= 7.0.3.1) activestorage (7.0.3.1) actionpack (= 7.0.3.1) activejob (= 7.0.3.1) activerecord (= 7.0.3.1) activesupport (= 7.0.3.1) marcel (~> 1.0) mini_mime (>= 1.1.0) activesupport (7.0.3.1) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 1.6, < 2) minitest (>= 5.1) tzinfo (~> 2.0) bootsnap (1.12.0) msgpack (~> 1.2) builder (3.2.4) concurrent-ruby (1.1.10) crass (1.0.6) debug (1.6.1) irb (>= 1.3.6) reline (>= 0.3.1) digest (3.1.0) erubi (1.10.0) globalid (1.0.0) activesupport (>= 5.0) i18n (1.12.0) concurrent-ruby (~> 1.0) io-console (0.5.11) irb (1.4.1) reline (>= 0.3.0) loofah (2.18.0) crass (~> 1.0.2) nokogiri (>= 1.5.9) mail (2.7.1) mini_mime (>= 0.1.1) marcel (1.0.2) method_source (1.0.0) mini_mime (1.1.2) minitest (5.16.2) msgpack (1.5.3) mysql2 (0.5.4) net-imap (0.2.3) digest net-protocol strscan net-pop (0.1.1) digest net-protocol timeout net-protocol (0.1.3) timeout net-smtp (0.3.1) digest net-protocol timeout nio4r (2.5.8) nokogiri (1.13.7-x86_64-linux) racc (~> 1.4) puma (5.6.4) nio4r (~> 2.0) racc (1.6.0) rack (2.2.4) rack-test (2.0.2) rack (>= 1.3) rails (7.0.3.1) actioncable (= 7.0.3.1) actionmailbox (= 7.0.3.1) actionmailer (= 7.0.3.1) actionpack (= 7.0.3.1) actiontext (= 7.0.3.1) actionview (= 7.0.3.1) activejob (= 7.0.3.1) activemodel (= 7.0.3.1) activerecord (= 7.0.3.1) activestorage (= 7.0.3.1) activesupport (= 7.0.3.1) bundler (>= 1.15.0) railties (= 7.0.3.1) rails-dom-testing (2.0.3) activesupport (>= 4.2.0) nokogiri (>= 1.6) rails-html-sanitizer (1.4.3) loofah (~> 2.3) railties (7.0.3.1) actionpack (= 7.0.3.1) activesupport (= 7.0.3.1) method_source rake (>= 12.2) thor (~> 1.0) zeitwerk (~> 2.5) rake (13.0.6) reline (0.3.1) io-console (~> 0.5) strscan (3.0.3) thor (1.2.1) timeout (0.3.0) tzinfo (2.0.5) concurrent-ruby (~> 1.0) websocket-driver (0.7.5) websocket-extensions (>= 0.1.0) websocket-extensions (0.1.5) zeitwerk (2.6.0) PLATFORMS x86_64-linux DEPENDENCIES bootsnap debug mysql2 (~> 0.5) puma (~> 5.0) rails (~> 7.0.3, >= 7.0.3.1) tzinfo-data RUBY VERSION ruby 3.1.1p18 BUNDLED WITH 2.3.7

試したこと

docker-compose run api bundle install を実行後、docker-compose up

以下のような質問にはリアクションをつけましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

リアクションが多い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Next.js

Next.jsは、Reactを用いたサーバサイドレンダリングなどを行う軽量なフレームワークです。Zeit社が開発しており、nextコマンドでプロジェクトを作成することにより、開発環境整備が整った環境が即時に作成できます。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです