お世話になっております。
Dcoker build実行時にエラーが出力されます。
bundlerのバージョン違いによるものだと思うのですが、バージョンはあっている認識です。
エラーメッセージ中のCould not find 'bundler' (2.1.2) required by your /app/Gemfile.lock.
ここのGemfile.lockのパス指定に誤りがあるのでしょうか。
ご確認をお願いいたいします。
実行時のコード
docker build -t rails ./rails
エラーメッセージ
Step 7/11 : RUN bundle install ---> Running in c62076fb1f11 /usr/local/lib/ruby/2.6.0/rubygems.rb:283:in `find_spec_for_exe': Could not find 'bundler' (2.1.2) required by your /app/Gemfile.lock. (Gem::GemNotFoundException) To update to the latest version installed on your system, run `bundle update --bundler`. To install the missing version, run `gem install bundler:2.1.2` from /usr/local/lib/ruby/2.6.0/rubygems.rb:302:in `activate_bin_path' from /usr/local/bin/bundle:23:in `<main>'
Dockerfile
# Rubyをインストール FROM ruby:2.6 # 必要なパッケージをインストール RUN curl -sL https://deb.nodesource.com/setup_10.x | bash - \ && apt-get install -y nodejs # 公式では以下のコマンドを推奨しているが、nodeのバージョンが低くBootstrapが使え>ない # RUN apt-get update -qq && apt-get install -y nodejs # 環境変数を設定 ENV APP_HOME /app # ディレクトリの作成と移動 WORKDIR $APP_HOME # ホストのGemfileなどをコンテナへコピー COPY Gemfile $APP_HOME/Gemfile COPY Gemfile.lock $APP_HOME/Gemfile.lock # BundlerでGemをインストール RUN bundle install # Railsアプリを作成(新規でアプリを作成する場合のみ) RUN rails new . --database=mysql # DBの設定ファイル書き換え(新規でアプリを作成する場合のみ) COPY ./config $APP_HOME/config # 3000番ポート解放 EXPOSE 3000 # コンテナ起動時にRailsサーバを起動 CMD ["rails", "server", "-b", "0.0.0.0"]
Gemfile.lock
〜略〜 BUNDLED WITH 2.1.2
###確認事項
host
1$ bundle -v 2Bundler version 2.1.2 3 4$ gem list bundler 5 6*** LOCAL GEMS *** 7 8bundler (2.1.2)
回答1件
あなたの回答
tips
プレビュー