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

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

新規登録して質問してみよう
ただいま回答率
86.02%
docker-compose

docker-composeとは、複数のコンテナで構成されるサービスを提供する手順を自動的し管理を簡単にするツール。composeファイルを使用しコマンド1回で設定した全サービスを作成・起動することが可能です。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

MySQL

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

Ruby on Rails 7

Ruby on Rails 7は、2021年12月に正式リリースされました。Ruby on Railsのバージョン7であり、フロントエンド開発環境を大幅に刷新。Node.jsを用いない構成がデフォルトになっています。

Q&A

解決済

【rails環境構築】docker + rails + mysql で環境構築中のエラー

ruby_mi
ruby_mi

総合スコア1

docker-compose

docker-composeとは、複数のコンテナで構成されるサービスを提供する手順を自動的し管理を簡単にするツール。composeファイルを使用しコマンド1回で設定した全サービスを作成・起動することが可能です。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

MySQL

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

Ruby on Rails 7

Ruby on Rails 7は、2021年12月に正式リリースされました。Ruby on Railsのバージョン7であり、フロントエンド開発環境を大幅に刷新。Node.jsを用いない構成がデフォルトになっています。

1回答

0グッド

0クリップ

252閲覧

投稿2022/12/01 06:55

編集2022/12/01 13:32

前提

dockerでコンテナをたてて仮想環境を構築したいのですが、
「docker-compose run web rails new」
を実行してもアプリケーションができていません。

app,config,db,log,public,test・・・などのアプリが生成されるようにしたいです。

作成したファイル

### "dockercompose.yml" version: '3' services: db: image: mysql:8.0 environment: MYSQL_USER: user MYSQL_ROOT_PASSWORD: passw0rd ports: - "3306:3306" volumes: - ./db/mysql/volumes:/var/lib/mysql web: build: . command: bash -c "rm -f tmp/pids/server.pid && bundle exec rails s -p 3000 -b '0.0.0.0'" volumes: - .:/myapp - gem_data:/usr/local/bundle ports: - 3000:3000 depends_on: - db tty: true stdin_open: true volumes: gem_data:

Dockerfile

1FROM ruby:3.0.4 2RUN apt-get update -qq && apt-get install -y build-essential libpq-dev nodejs 3 4RUN mkdir /myapp 5WORKDIR /myapp 6 7COPY Gemfile /myapp/Gemfile 8COPY Gemfile.lock /myapp/Gemfile.lock 9 10RUN bundle install 11COPY . /myapp

Gemfile

1source 'https://rubygems.org' 2gem 'rails', '~>7'

空のGemfile.lockも作成しました。

イメージ説明

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

$ docker-compose run web rails new , --force --database=mysql --skip-bundle Starting sample_app_db_1 ... Starting sample_app_db_1 ... done Creating sample_app_web_run ... Creating sample_app_web_run ... done /usr/local/bundle/gems/railties-7.0.4/lib/rails/generators/app_name.rb:44:in `const_defined?': wrong constant name (NameError) from /usr/local/bundle/gems/railties-7.0.4/lib/rails/generators/app_name.rb:44:in `valid_const?' from /usr/local/bundle/gems/railties-7.0.4/lib/rails/generators/app_base.rb:138:in `create_root' from (eval):1:in `create_root' from /usr/local/bundle/gems/thor-1.2.1/lib/thor/command.rb:27:in `run' from /usr/local/bundle/gems/thor-1.2.1/lib/thor/invocation.rb:127:in `invoke_command' from /usr/local/bundle/gems/thor-1.2.1/lib/thor/invocation.rb:134:in `block in invoke_all' from /usr/local/bundle/gems/thor-1.2.1/lib/thor/invocation.rb:134:in `each' from /usr/local/bundle/gems/thor-1.2.1/lib/thor/invocation.rb:134:in `map' from /usr/local/bundle/gems/thor-1.2.1/lib/thor/invocation.rb:134:in `invoke_all' from /usr/local/bundle/gems/thor-1.2.1/lib/thor/group.rb:232:in `dispatch' from /usr/local/bundle/gems/thor-1.2.1/lib/thor/base.rb:485:in `start' from /usr/local/bundle/gems/railties-7.0.4/lib/rails/commands/application/application_command.rb:26:in `perform' from /usr/local/bundle/gems/thor-1.2.1/lib/thor/command.rb:27:in `run' from /usr/local/bundle/gems/thor-1.2.1/lib/thor/invocation.rb:127:in `invoke_command' from /usr/local/bundle/gems/thor-1.2.1/lib/thor.rb:392:in `dispatch' from /usr/local/bundle/gems/railties-7.0.4/lib/rails/command/base.rb:87:in `perform' from /usr/local/bundle/gems/railties-7.0.4/lib/rails/command.rb:48:in `invoke' from /usr/local/bundle/gems/railties-7.0.4/lib/rails/cli.rb:18:in `<top (required)>' from <internal:/usr/local/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:85:in `require' from <internal:/usr/local/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:85:in `require' from /usr/local/bundle/gems/railties-7.0.4/exe/rails:10:in `<top (required)>' from /usr/local/bundle/bin/rails:25:in `load' from /usr/local/bundle/bin/rails:25:in `<main>'

試したこと

docker-compose logsではエラーは出ていませんでした。

ruby 3.0.4p208
Rails 7.0.4

以下のような質問にはグッドを送りましょう

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

グッドが多くついた質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

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

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

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

回答1

0

自己解決

docker-compose run web rails new , --force --database=mysql --skip-bundle
ではなく
docker-compose run web rails new . --force --database=mysql --skip-bundle
でした。

投稿2022/12/01 13:32

ruby_mi

総合スコア1

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

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

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

このような回答には修正を依頼しましょう。

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

ただいまの回答率
86.02%

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

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

質問する

関連した質問

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

docker-compose

docker-composeとは、複数のコンテナで構成されるサービスを提供する手順を自動的し管理を簡単にするツール。composeファイルを使用しコマンド1回で設定した全サービスを作成・起動することが可能です。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

MySQL

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

Ruby on Rails 7

Ruby on Rails 7は、2021年12月に正式リリースされました。Ruby on Railsのバージョン7であり、フロントエンド開発環境を大幅に刷新。Node.jsを用いない構成がデフォルトになっています。