RailsアプリをAWSにデプロイするための設定を行っているが、EC2にSSHでログインした状態で、docker-compose up を実行する必要が生じた。(下記URLを参考に導入中)
https://qiita.com/naoki_mochizuki/items/5a1757d222806cbe0cd1
ec2内にdocker docker-compose はインストールし、コマンド操作できるところまで辿り着き、docker-compose up -dを実行した。
その際に、up -dコマンド自体は正常に動作していると思うが、gemのインストールの際に下記エラーメッセージが表示される(抜粋)
Warning: the running version of Bundler (1.17.2) is older than the version that created the lockfile (1.17.3). We suggest you upgrade to the latest version of Bundler by running gem install bundler
.
Installing nokogiri 1.10.9 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
bundlerのバージョンが違うが?というエラーによって、nokogiriがインストールされない?と考えております。
エラー文にあるように、gem install bundler を実行してみ?とあるが、そもそもdockerのビルドに失敗しているわけで、
docker-compose run app(アプリ名) gem install bundler
を実行しようにも、コンテナが作成されていないため、実行できません。
dokcer環境で、bundlerのバージョンを指定した状態で、実行する方法はあるのでしょうか?
もしくは、問題点が全く別の箇所にある場合も、ご教示いただければ助かります。
Gemfile
# frozen_string_literal: true source 'https://rubygems.org' git_source(:github) { |repo| "https://github.com/#{repo}.git" } ruby '2.6.3' # Bundle edge Rails instead: gem 'rails', github: 'rails/rails' gem 'rails', '~> 5.2.4', '>= 5.2.4.3' gem 'bcrypt' # Use mysql as the database for Active Record gem 'mysql2', '>= 0.4.4', '< 0.6.0' # Use Puma as the app server gem 'puma', '~> 3.11' # Use SCSS for stylesheets gem 'sass-rails', '~> 5.0' # Use Uglifier as compressor for JavaScript assets gem 'uglifier', '>= 1.3.0' # See https://github.com/rails/execjs#readme for more supported runtimes # gem 'mini_racer', platforms: :ruby # Use CoffeeScript for .coffee assets and views gem 'coffee-rails', '~> 4.2' # Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks gem 'turbolinks', '~> 5' # Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder gem 'jbuilder', '~> 2.5' # Use Redis adapter to run Action Cable in production # gem 'redis', '~> 4.0' # Use ActiveModel has_secure_password # gem 'bcrypt', '~> 3.1.7' # Use ActiveStorage variant # gem 'mini_magick', '~> 4.8' # Use Capistrano for deployment # gem 'capistrano-rails', group: :development # Reduces boot times through caching; required in config/boot.rb gem 'bootsnap', '>= 1.1.0', require: false gem 'bootstrap', '~> 4.1.1' gem 'jquery-rails' gem 'faker' group :development, :test do # Call 'byebug' anywhere in the code to stop execution and get a debugger console gem 'byebug', platforms: [:mri, :mingw, :x64_mingw] gem 'rspec-rails', '~> 3.7' gem 'rails-controller-testing' gem 'factory_bot_rails', '~> 4.11' end group :development do # Access an interactive console on exception pages or by calling 'console' anywhere in the code. gem 'web-console', '>= 3.3.0' gem 'listen', '>= 3.0.5', '< 3.2' # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring gem 'spring' gem 'spring-watcher-listen', '~> 2.0.0' gem 'spring-commands-rspec' end group :test do # Adds support for Capybara system testing and selenium driver gem 'capybara', '>= 2.15' gem 'selenium-webdriver' # Easy installation and use of chromedriver to run system tests with Chrome gem 'chromedriver-helper' gem 'webdrivers' end gem 'devise' # Windows does not include zoneinfo files, so bundle the tzinfo-data gem gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby] group :development, :staging do gem 'rubocop', '~> 0.82.0', require: false end group :production do gem 'puma_worker_killer' end
Dockerfile
FROM ruby:2.6.3 # リポジトリを更新し依存モジュールをインストール RUN apt-get update -qq && \ apt-get install -y build-essential \ nodejs # ルート直下にmy_appという名前で作業ディレクトリを作成(コンテナ内のアプリケーションディレクトリ) RUN mkdir /my_app WORKDIR /my_app # ホストのGemfileとGemfile.lockをコンテナにコピー ADD Gemfile /my_app/Gemfile ADD Gemfile.lock /my_app/Gemfile.lock # bundle installの実行 RUN bundle install # ホストのアプリケーションディレクトリ内をすべてコンテナにコピー ADD . /my_app # puma.sockを配置するディレクトリを作成 RUN mkdir -p tmp/sockets
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/09/22 08:25
2020/09/22 08:42
2020/09/25 13:51
2020/09/25 14:12
2020/09/25 14:55
2020/09/25 15:07
2020/09/25 15:17