🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Q&A

解決済

1回答

3403閲覧

Docker bundler: failed to load command: puma (/usr/local/bundle/bin/puma)エラー

a-ichi

総合スコア16

Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

0グッド

0クリップ

投稿2021/01/22 10:10

編集2021/01/22 13:14

前提・実現したいこと

bundler: failed to load command: puma (/usr/local/bundle/bin/puma)
エラーを解消したい。

ローカルから、
docker-compose up -dをするとdoneになるが、
appだけ、すぐexit状態となる。
docker-compose upにすると、
bundler: failed to load command: puma (/usr/local/bundle/bin/puma)
このエラーが出ている。

この記事を参考にrailsアプリを作成中です。
https://qiita.com/Yusuke_Hoirta/items/18dae771163a02a53a37

発生している問題・エラーメッセージ

ターミナル

bundler: failed to load command: puma (/usr/local/bundle/bin/puma)
ActiveSupport::MessageEncryptor::InvalidMessage

該当のソースコード

dockerfile

1FROM ruby:2.6.5 2 3RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \ 4 && echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list 5RUN apt-get update -qq && \ 6 apt-get install -y build-essential \ 7 libpq-dev \ 8 nodejs \ 9 vim \ 10 yarn 11 12RUN mkdir /CustomerCalender 13 14WORKDIR /CustomerCalender 15 16COPY Gemfile /CustomerCalender/Gemfile 17COPY Gemfile.lock /CustomerCalender/Gemfile.lock 18 19ENV BUNDLER_VERSION 2.1.4 20RUN gem install bundler 21RUN bundle install 22RUN yarn install 23 24COPY . /CustomerCalender 25 26RUN mkdir -p tmp/sockets 27RUN mkdir -p tmp/pids 28

docker-compose.yml

yml

1version: '3' 2 3services: 4 db: 5 image: mysql:5.7 6 volumes: 7 - mysql-data:/var/lib/mysql 8 ports: 9 - "4306:3306" 10 environment: 11 MYSQL_ROOT_PASSWORD: password 12 MYSQL_DATABASE: root 13 tty: true 14 stdin_open: true 15 16 app: 17 build: . 18 command: bundle exec puma -C config/puma.rb 19 volumes: 20 - .:/CustomerCalender 21 - public-data:/CustomerCalender/public 22 - tmp-data:/CustomerCalender/tmp 23 - log-data:/CustomerCalender/log 24 tty: true 25 stdin_open: true 26 depends_on: 27 - db 28 links: 29 - db 30 31 32 web: 33 build: 34 context: containers/nginx 35 ports: 36 - 8080:80 37 volumes: 38 - public-data:/CustomerCalender/public 39 - tmp-data:/CustomerCalender/tmp 40 tty: true 41 stdin_open: true 42 depends_on: 43 - db 44 links: 45 - db 46 47 48 49volumes: 50 mysql-data: 51 public-data: 52 tmp-data: 53 log-data: 54

nginx.conf

upstream CustomerCalender { server unix:///CustomerCalender/tmp/sockets/puma.sock; } server { listen 80; server_name customer-calender.com; access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; root /CustomerCalender/public; client_max_body_size 100m; error_page 404 /404.html; error_page 505 502 503 504 /500.html; try_files $uri/index.html $uri @CustomerCalender; keepalive_timeout 5; location @CustomerCalender { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_pass http://CustomerCalender; } }

nginx

dockerfile

1FROM nginx:1.18.0 2 3RUN rm -f /etc/nginx/conf.d/* 4 5COPY nginx.conf /etc/nginx/conf.d/CustomerCalender.conf 6 7CMD /usr/sbin/nginx -g 'daemon off;' -c /etc/nginx/nginx.conf

database.yml

yml

1default: &default 2 adapter: mysql2 3 encoding: utf8 4 pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %> 5 6 7 8development: 9 <<: *default 10 host: 127.0.0.1 11 database: CustomerCalender_development 12 username: root 13 password: 14 socket: /tmp/mysql.sock 15 16production: 17 <<: *default 18 host: <%= ENV['DATABASE_HOST'] %> 19 database: <%= ENV['DATABASE_DATABASE'] %> 20 adapter: mysql2 21 encoding: utf8mb4 22 charset: utf8mb4 23 collation: utf8mb4_general_ci 24 username: <%= ENV['DATABASE_USERNAME'] %> 25 password: <%= ENV['DATABASE_PASSWORD'] %>

試したこと

この記事を参考に
https://qiita.com/itosys/items/30a48f50ce376f5ca2fd
・tmp/socketsとtmp/pids 作成試みる→すでにある。
・.gitignore に!/tmp/pid/.keep!/tmp/sockets/.keep 追加

この記事を参考に
https://qiita.com/tatama/items/aaa1300f55da5da2933a
・EDITOR=vim rails credentials:edit --environment production
・config.require_master_key = true

試した事追加
・gem update --system

補足情報(FW/ツールのバージョンなど)

rails6
docker
EC2


もともとはdbの方がエラー全然upにならずに、いろいろ試していました。
dbの方は解決出来たのですが、いろいろ試してしまった結果、appの方が
upにならなくなりました。
ちなみに、本番環境からdocker-compose upをしても
同じエラーとなります。

1週間くらいハマってしまってます。
全く解決方法が分からない状態です。
皆様のお力添え、何卒宜しくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2021/01/22 10:13

回答依頼いただきましたが、Docker前提だとほぼ経験がないので、ご期待には添えかねます。 メインとなる議題・タグのスコアは確認されてから回答依頼だされたほうが良いかもしれませんね。
yu_1985

2021/01/22 10:26

Gemfileにpumaは含まれてますか
a-ichi

2021/01/22 10:43

m.ts10806様 大変失礼致しました。 以後気をつけます。 ご指摘ありがとうございます。
a-ichi

2021/01/22 10:44 編集

yu_1985様 いつもありがとうございます。 gem 'puma', '~> 3.11' が入っております。
yu_1985

2021/01/22 11:06

docker-compose upはどこで実行してますか? Railsプロジェクトのトップでしょうか。
a-ichi

2021/01/22 12:29

yu_1985様 そうです。 ローカルのrailsプロジェクト(CustomerCalender) CustomerCalender % ここで実行してます。
guest

回答1

0

自己解決

自己解決しました。
https://qiita.com/suzy1031/items/64598d44b428ccd7abc5
この記事を参考に
credentials.ymlを削除して

・sudo EDITOR=vim rails credentials:edit
コマンドをローカルで実行しましたら
解決しました。

皆様ありがとうございました。

投稿2021/01/22 13:57

a-ichi

総合スコア16

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問