LoginSignup
2
1

More than 3 years have passed since last update.

docker-composeでrailsをdocker化したらBundlerバージョンで怒られる

Posted at

最近は railsもdocker化するのが多くみられるのですが、ハマりポイントも多いみたいですね。
特にdocker-composeを使ったときには、キャッシュがかかってうまく修正反映できないことがあります。

エラーで怒られた。

例えば、既存のbundlerバージョンが合わなくて、bundler version 2.x

You must use Bundler 2 or greater with this lockfile.

というエラー。

dockerでrubyのイメージを使うときには、bundlerも一緒に入ってるわけですが、
その時に作った時のGemfileに書かれているBundlerバージョンと合わないことがあります。

解決法

その時には、Gemfile.lockを削除してからgemライブラリ達をビルドし直す必要があります。

$ rm Gemfile.lock
$ sudo docker-compose build
$ sudo docker-compose up

この時に気を付けなければいけないのは、docker-compose buildを使うこと、
どうやら、docker buildとdocker-compose buildはキャッシュが別物みたいです。
なので、いくらDockerでビルドし直しても、docker-compose には反映されなくて詰みます
(私は数時間失いました)。
エラーも出ないが、反映もされないのでキャッシュトラブルはとてもややこしい。

参考
https://qiita.com/azul915/items/5b7063cbc80192343fc0
https://qiita.com/yoshijbbsk1121/items/87250501b32c6433943e

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1