2017-08-14 2 views
0

auf meinem Docker-Server Ich habe einen Fehler auf sidekiq/redis URL URL sepcification:Ruby & Redis/Skidekiq URI :: InvalidURIError: Das Schema redis akzeptiert keinen Registry-Teil: bsc_redis: 6379 (oder schlechter Hostname?)

Sidekiq.configure_client do |config| config.redis = { url: "redis://bsc_redis:6379", size: 1 } end 

ich

URI::InvalidURIError: the scheme redis does not accept registry part: bsc_redis:6379 (or bad hostname?) from /usr/local/lib/ruby/2.0.0/uri/generic.rb:214:in initialize' from /usr/local/lib/ruby/2.0.0/uri/common.rb:218:in new' from /usr/local/lib/ruby/2.0.0/uri/common.rb:218:in parse' from /usr/local/lib/ruby/2.0.0/uri/common.rb:747:in parse' from /usr/local/bundle/gems/sidekiq-4.2.9/lib/sidekiq/redis_connection.rb:86:in log_info' from /usr/local/bundle/gems/sidekiq-4.2.9/lib/sidekiq/redis_connection.rb:20:in create' from /usr/local/bundle/gems/sidekiq-4.2.9/lib/sidekiq.rb:131:in redis=' from (irb):4:in block in irb_binding' from /usr/local/bundle/gems/sidekiq-4.2.9/lib/sidekiq.rb:83:in configure_client' from (irb):4 from /usr/local/bundle/gems/railties-3.2.13/lib/rails/commands/console.rb:47:in start' from /usr/local/bundle/gems/railties-3.2.13/lib/rails/commands/console.rb:8:in start' from /usr/local/bundle/gems/railties-3.2.13/lib/rails/commands.rb:41:in ' from script/rails:6:in require' from script/rails:6:in '

Aber es funktioniert, wenn ich die IP-Adresse, der bsc_redis Behälter specifiy:

Sidekiq.configure_client do |config| config.redis = { url: "redis://172.18.0.5:6379", size: 1 } end 
=> {:url=>"redis://172.18.0.5:6379", :size=>1} 

Wenn ich ping bsc_redis aus dem Schienen Container, reagiert es von 172.18.0.5. Ich kann kein Problem finden, warum dies geschieht.

Irgendeine Idee?

Danke

+0

Probieren Sie dies stattdessen und sehen, ob es hilft 'redis: // bsc_redis: 6379/0' –

+0

Ich habe zuvor versucht, nichts @TarunLalwani geändert – David

+0

Dann versuchen Sie diese 'config.redis = {host: "bcs_redis", \t port: 6379, \t db: 0}' –

Antwort

1

Try

config.redis = { url: "redis://bsc_redis:6379/0"} 

oder

config.redis = { host: "bcs_redis", port: 6379, db: 0} 

Beide sind mit gültigen, aber ich denke, es könnte einige Frage wegen Docker basierend dns in erste, die sidekiq nicht ist der Umgang mit gut

Verwandte Themen