🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Ruby on Rails 5

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

Docker

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

Q&A

解決済

1回答

1267閲覧

DockerでWEBサーバが立ち上がらなくなってしまう

centurybright

総合スコア5

Ruby on Rails 5

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

Docker

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

0グッド

1クリップ

投稿2019/12/12 13:58

前提・実現したいこと

Docker初心者です。
一通りRailsでアプリを作成したので、今度は開発環境にDockerを使ってみようと挑戦したばかりです。
Gemfileに追加で記述(gem 'bootstrap-sass')を行ったところ、WEBサーバが起動しなくなってしまいました。

この状態になるまでの経緯

Gemfileに記述
docker-compose run web bundle install
docker-compose build

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

docker-compose ps

Name Command State Ports ---------------------------------------------------------------------------------------- yomyom3_db_1 docker-entrypoint.sh mysqld Up 0.0.0.0:3306->3306/tcp, 33060/tcp yomyom3_web_1 rails s -p 3000 -b 0.0.0.0 Exit 1

docker-compose logs web

web_1 | /usr/local/lib/ruby/site_ruby/2.5.0/bundler/spec_set.rb:91:in `block in materialize': Could not find autoprefixer-rails-9.7.3 in any of the sources (Bundler::GemNotFound) web_1 | from /usr/local/lib/ruby/site_ruby/2.5.0/bundler/spec_set.rb:85:in `map!' web_1 | from /usr/local/lib/ruby/site_ruby/2.5.0/bundler/spec_set.rb:85:in `materialize' web_1 | from /usr/local/lib/ruby/site_ruby/2.5.0/bundler/definition.rb:170:in `specs' web_1 | from /usr/local/lib/ruby/site_ruby/2.5.0/bundler/definition.rb:237:in `specs_for' web_1 | from /usr/local/lib/ruby/site_ruby/2.5.0/bundler/definition.rb:226:in `requested_specs' web_1 | from /usr/local/lib/ruby/site_ruby/2.5.0/bundler/runtime.rb:108:in `block in definition_method' web_1 | from /usr/local/lib/ruby/site_ruby/2.5.0/bundler/runtime.rb:20:in `setup' web_1 | from /usr/local/lib/ruby/site_ruby/2.5.0/bundler.rb:107:in `setup' web_1 | from /usr/local/lib/ruby/site_ruby/2.5.0/bundler/setup.rb:20:in `<top (required)>' web_1 | from /usr/local/lib/ruby/site_ruby/2.5.0/rubygems/core_ext/kernel_require.rb:54:in `require' web_1 | from /usr/local/lib/ruby/site_ruby/2.5.0/rubygems/core_ext/kernel_require.rb:54:in `require' web_1 | from /app_name/config/boot.rb:3:in `<top (required)>' web_1 | from bin/rails:3:in `require_relative' web_1 | from bin/rails:3:in `<main>'

ここに問題に対して試したことを記載してください。

補足情報(FW/ツールのバージョンなど)

docker-file

# コピペでOK, app_nameもそのままでOK # 19.01.20現在最新安定版のイメージを取得 FROM ruby:2.5.3 # 必要なパッケージのインストール(基本的に必要になってくるものだと思うので削らないこと) RUN apt-get update -qq && \ apt-get install -y build-essential \ libpq-dev \ nodejs # 作業ディレクトリの作成、設定 RUN mkdir /app_name ##作業ディレクトリ名をAPP_ROOTに割り当てて、以下$APP_ROOTで参照 ENV APP_ROOT /app_name WORKDIR $APP_ROOT # ホスト側(ローカル)のGemfileを追加する(ローカルのGemfileは【3】で作成) ADD ./Gemfile $APP_ROOT/Gemfile ADD ./Gemfile.lock $APP_ROOT/Gemfile.lock # Gemfileのbundle install RUN bundle install ADD . $APP_ROOT

docker-compose.yml

version: '3' services: db: image: mysql:5.7 environment: MYSQL_ROOT_PASSWORD: password MYSQL_DATABASE: root ports: - "3306:3306" web: build: . command: rails s -p 3000 -b '0.0.0.0' volumes: - .:/app_name ports: - "3000:3000" links: - db

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

(Bundler::GemNotFound)

とあるので、Gemfile と Gemfile.lock との間で不整合が発生している可能性があります。

Gemfileに記述
docker-compose run web bundle install
docker-compose build

Gemfileに記述した後、bundle install をお手元にあるローカルマシン上でも実行してみてください。

流れで言うと、

Gemfileに記述
bundle install(Gemfileの修正内容に応じて、Gemfile.lockの内容が更新される)
docker-compose build
docker-compose up

という流れであれば、原因となっている不整合の問題は解消できると思います。

投稿2019/12/14 16:46

uzyexe

総合スコア239

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問