Dockerでlocalhostを立ち上げており、sidekiqのダッシュボードを表示させたいのですが、なぜかlocalhostだけでエラーが出てしまいます。
現在herokuでアプリを運用しておりますが、stagingとproductionでは問題なく表示ができています。
また、メールのバックグランド処理にも使っていますが、問題なく稼働しております。
dockerのlocalhostの接続の問題だとは思うのですが、どの部分をどう変更すればよいのでしょうか?
どなたか、アイデアを教えて頂けると大変助かります。どうぞよろしくお願いいたします。
###エラー内容
Error connecting to Redis on localhost:6379 (Errno::EADDRNOTAVAIL)
###docker-compose.yml
version: "3" services: web: &web build: context: . dockerfile: docker/web/Dockerfile command: sh -c "rm -f tmp/pids/server.pid && bundle exec rails s -p 80 -b '0.0.0.0' -e development" ports: - 80:80 - 1025:1025 volumes: - bundle_install:/usr/local/bundle - "./:/app" # 1. exclude volumes - /app/.git - /app/.github - /app/.idea - /app/log - /app/tmp - /app/vendor stdin_open: true tty: true environment: TZ: Asia/Tokyo REDIS_HOST: localhost redis: image: "redis:latest" ports: - "6379:6379" volumes: - "./data/redis:/data" volumes: mysql-data: driver: local bundle_install:
###sidekiq.yml
:verbose: false :concurrency: 10 :queues: - test - default - mailers
###sidekiq.rb
if Rails.env.production? || Rails.env.staging? Sidekiq.configure_server do |config| config.redis = { url: ENV.fetch('REDIS_URL', 'redis://localhost:6379') } end Sidekiq.configure_client do |config| config.redis = { url: ENV.fetch('REDIS_URL', 'redis://localhost:6379')} end else #local Sidekiq.configure_server do |config| config.redis = { url: 'redis://localhost:6379', namespace: 'test_sidekiq' } end Sidekiq.configure_client do |config| config.redis = { url: 'redis://localhost:6379', namespace: 'test_sidekiq' } end end
###routes
require 'sidekiq/web' Rails.application.routes.draw do #sidekiq--------------------------------------------- authenticate :user do #authenticate mount Sidekiq::Web => '/sidekiq' end end
大変お忙しい中にも関わらず、ここまで読んで下さってありがとうございます。
どうぞよろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/07/29 04:30 編集