내 도커 서버에서 sidekiq / redis URL URL 구분에 오류가 있습니다.
Sidekiq.configure_client do |config| config.redis = { url: "redis://bsc_redis:6379", size: 1 } end
나는 얻다
URI :: InvalidURIError : redis 체계는 레지스트리 부분을 허용하지 않습니다 : bsc_redis : 6379 (또는 잘못된 호스트 이름?) 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 : inparse' 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:inlog_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:inredis=' from (irb):4:in
block in irb_binding'from /usr/local/bundle/gems/sidekiq-4.2.9/lib/sidekiq .rb : 83 : inconfigure_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'fromstart' from /usr/local/bundle/gems/railties-3.2.13/lib/rails/commands.rb:41:in
script / rails : 6 : inrequire' from script/rails:6:in
'
하지만 bsc_redis 컨테이너 의 IP 주소를 지정하면 작동합니다 .
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}
ping bsc_redis
레일 컨테이너에서 내가 172.18.0.5에서 응답합니다. 문제가 발생하는 이유를 찾을 수 없습니다.
어떤 생각?
감사합니다
사용해보십시오
config.redis = { url: "redis://bsc_redis:6379/0"}
또는
config.redis = { host: "bcs_redis", port: 6379, db: 0}
둘 다 유효하지만 sidekiq이 잘 처리하지 않는 첫 번째 dns 기반 도커로 인해 문제가 발생할 수 있습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다