@daigo01090118 (daigo ikeda)

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

docker-compose buildできません

こちらの記事を引用してコマンドを打ち実行していたところ

docker-compose build
を実行したところ

➜  everydayrails-rspec-2017 git:(master) ✗ docker-compose build
db uses an image, skipping
Building web
[+] Building 0.7s (11/14)
 => [internal] load build definition from Dockerfile                                                             0.0s
 => => transferring dockerfile: 37B                                                                              0.0s
 => [internal] load .dockerignore                                                                                0.0s
 => => transferring context: 2B                                                                                  0.0s
 => [internal] load metadata for docker.io/library/ruby:2.3.7                                                    0.0s
 => [internal] load build context                                                                                0.0s
 => => transferring context: 21.44kB                                                                             0.0s
 => [ 1/10] FROM docker.io/library/ruby:2.3.7                                                                    0.0s
 => CACHED [ 2/10] RUN apt-get update -qq && apt-get install -y     build-essential     nodejs  && rm -rf /var/  0.0s
 => CACHED [ 3/10] RUN gem install bundler                                                                       0.0s
 => CACHED [ 4/10] WORKDIR /tmp                                                                                  0.0s
 => CACHED [ 5/10] ADD Gemfile Gemfile                                                                           0.0s
 => CACHED [ 6/10] ADD Gemfile.lock Gemfile.lock                                                                 0.0s
 => ERROR [ 7/10] RUN bundle install                                                                             0.6s
------
 > [ 7/10] RUN bundle install:
#11 0.555 You must use Bundler 2 or greater with this lockfile.
------
executor failed running [/bin/sh -c bundle install]: exit code: 20
ERROR: Service 'web' failed to build : Build failed

このエラーになりました
bundler のバージョンは2以上のものを使っているのでどうしたら良いかわかりません。
調べてみても対処がわからなかったので回答よろしくお願いします。

0 likes

2Answer

コンテナの中に Bundler 1 しか入っていないようです。 Dockerfile の RUN gem install bundlerRUN gem install bundler:2 にすると強制的に Bundler 2 を入れられます。

コンテナの Ruby が古いせいもあるかもしれません。 FROM ruby:2.3.7FROM ruby:2.6 にしてください。(Rails 5 を使う場合。 Rail 6 ならより新しい ruby:2.7ruby:3.0 にしたほうがいいです。)

1Like

@uasi さん。いつも回答してくださりありがとうございます!
rubyを2.7
RUN gem install bundlerを RUN gem install bundler:2
にすることでbuildできました!

0Like

Your answer might help someone💌