前提・実現したいこと
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週間くらいハマってしまってます。
全く解決方法が分からない状態です。
皆様のお力添え、何卒宜しくお願い致します。
回答1件
あなたの回答
tips
プレビュー