前提・実現したいこと
自作したrailsアプリ(Docker開発環境を利用してない)のつづきをdocker環境下で開発したく、手始めにrailsチュートリアルの完成した物を使ってやってみようと、Railsチュートリアルの開発環境を Docker にしてみなイカ?を参考に進めていた際に、docker-compose buildで以下のエラーが発生しました。
発生している問題・エラーメッセージ
ERROR: Service 'app' failed to build: The command '/bin/sh -c bundle install --jobs=4' returned a non-zero code: 20
該当のソースコード
Dockerに関する知識が非常に乏しいことから、上記の記事のコードをそのまま利用させていただいています。
Dockerfile
1FROM ruby:2.4.9-alpine3.11 2 3ENV LANG C.UTF-8 \ 4 TZ Asia/Tokyo 5 6ENV BUILD_PACKAGES="build-base" \ 7 DB_PACKAGES="sqlite-dev postgresql-dev" \ 8 RAILS_PACKAGES="tzdata nodejs imagemagick" \ 9 FAVORITE_PACKAGES="less" 10 11RUN apk update && \ 12 apk upgrade && \ 13 apk --update --no-cache add \ 14 ${BUILD_PACKAGES} \ 15 ${DB_PACKAGES} \ 16 ${RAILS_PACKAGES} \ 17 ${FAVORITE_PACKAGES} 18 19WORKDIR /app 20 21COPY Gemfile \ 22 Gemfile.lock \ 23 /app/ 24 25RUN bundle install --jobs=4 26 27# 下記のコードは、頻繁に Gemfile を変更する場合、コメントアウトを推奨します。 28# RUN apk del ${BUILD_PACKAGES} 29 30# https://github.com/bundler/bundler/issues/6154 31ENV BUNDLE_GEMFILE='/app/Gemfile'
dockercomposeyml
1version: '3' 2services: 3 app: 4 build: 5 context: . 6 dockerfile: ./docker/Dockerfile 7 ports: 8 - 3000:3000 9 command: bundle exec rails s -p 3000 -b 0.0.0.0 10 volumes: 11 - ./:/app:cached 12 stdin_open: true 13 tty: true 14
試したこと
以下のエラーログを見て、bundle install実行時にエラーが起きてそうな雰囲気を感じたので、
Step 7/8 : RUN bundle install --jobs=4 ---> Running in d6a7aa5bd1f7 You must use Bundler 2 or greater with this lockfile. ERROR: Service 'app' failed to build: The command '/bin/sh -c bundle install --jobs=4' returned a non-zero code: 20
多分意味ないだろうなとは思いつつも、bundle installをやって見たり、Dockerfileの
RUN bundle install --jobs=4
を
RUN /bin/sh -c bundle install --jobs=4
に変更したりしましたが、エラーは同様でした。
ググってもなかなか情報が得られなかったので、質問させていただきました。
補足情報(FW/ツールのバージョンなど)
ruby 2.5.0
rails 6.0.0
docker 19.03.8
docker-compose 1.25.4
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/21 05:55
2020/03/21 07:01
2020/03/21 08:06 編集
2020/03/21 08:54
2020/03/21 16:51
2020/03/21 17:01