現在EC2上でDockerコンテナを立ててアプリケーションをデプロイしようとしています。
EC2上のコンテナには、キャッシュ用のREDISコンテナと、アプリケーション用のrailsのコンテナ、そしてpumaのコンテナを置いています。
しかし、アプリのコードでREDIS関係の処理を走らせようとした時、以下のようなエラーが出てしまい、REDISに接続できません。
Redis::CannotConnectError (Error connecting to Redis on redis://127.0.0.1:6379:6379 (SocketError)):
おそらく、rails側の設定で接続がうまくいっていないものだと思いますが、どこを修正すればいいのか検討もつきません。。どなたかご助言お願いいたします。
下記にdocker-compose.ymlとrailsのredis関係のファイルを記述します。
docker-compose.yml
version: '3' services: app: build: context: . entrypoint: bundle exec puma -C config/puma.rb -e production volumes: - .:/saving - public-data:/saving/public - tmp-data:/saving/tmp - log-data:/saving/log networks: - saving-network redis: image: redis:5.0.5 ports: - 6379:6379 volumes: - ./redis:/data command: redis-server --appendonly yes web: build: context: ./nginx_docker volumes: - public-data:/saving/public - tmp-data:/saving/tmp ports: - 80:80 depends_on: - app - redis environment: REDIS_HOST: redis REDIS_PORT: 6379 networks: - saving-network volumes: public-data: tmp-data: log-data: db-data: networks: saving-network: external: true
config/initializers/redis.rb
redis.rb
1require 'redis-rails' 2 3REDIS = Redis.new(host: ENV["REDIS_HOST"], port: ENV["REDIS_PORT"])
ちなみにREDISの起動自体はREDISのコンテナに入り、redis-cliで動作確認しているため、問題ないと思われます。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/07/24 05:31
2021/07/24 05:34
2021/07/24 05:37
2021/07/24 05:50
2021/07/24 05:52
2021/07/24 05:57
2021/07/24 06:01
2021/07/24 06:14
2021/07/24 06:18