web-dev-qa-db-ja.com

このロックファイルでは、Bundler 2以上を使用する必要があります。 docker-composeをローカルで実行する場合

Dockerを初めて使用しましたが、Railsプロジェクトで使用しようとしましたが、起動できませんでした。

Ruby=バージョンの変更とWebの検索を試みましたが、ほとんどの質問はアプリをherokuにデプロイすることに関するものでしたが、私のケースではありません。

Dockerファイル:

FROM Ruby:2.4.1
RUN mkdir /zssn
WORKDIR /zssn
COPY Gemfile /zssn/Gemfile
COPY Gemfile.lock /zssn/Gemfile.lock
RUN gem install bundler
RUN bundle --version
RUN bundle install
COPY . /zssn

CMD ["Rails", "server"]

docker-compose-yml

version: '3'
services:
  web:
    build: .
    command: Rails s -p 3000 -b '0.0.0.0'
    volumes:
      - .:/zssn
    ports:
      - "3000:3000"

ドッカービルド。 --no-cache、それをインストールするbundlerコマンドを実行するときに正常に動作しているようです。

 ---> Running in d4650608f428
Successfully installed bundler-2.0.1

何か案は?

7
queroga_vqz

Ruby bundler 2に付属するイメージにアップグレードする必要があると思います(例:FROM Ruby:2.6.3)またはGemfile.lockは、使用するバンドルのバージョンに置き換えます。または、少なくともそれが私にとってうまくいきました。

バンドルガイド で提案されているように、環境変数を微調整することはできませんでした。

これ githubの問題 は、これが予期された動作であると思い込ませますが、私は完全に間違っている可能性があります。

0
eremite