我正在編寫一個基於微型服務的小應用程序,並在其中有一個redis實例,通過Resque可以使用一些ruby代碼/容器。目前在我的搬運工撰寫我的連接,像這樣:將redis鏈接到sinatra docker容器的正確方法
redis:
image: redis:latest
ports:
- '6379:6379'
ruby_worker:
image: my_user/my_image:latest
links:
- redis:db
這工作得很好(我只將其命名爲:分貝導致現在是仰視鏈接,當我發現的例子)。
在我的Ruby代碼,我建立我Resque Redis的服務器,如:
Resque.redis = ENV['DB_PORT_6379_TCP_ADDR'] + ':6379'
但這只是看起來不正確。它依賴於這個確切的redis名稱,如果我必須啓動一個不同的redis實例(就像我今天在玩docker雲的時候所做的那樣),它沒有找到redis服務器。總共我有3個容器(到目前爲止)連接到這個redis進行恢復。一個小型的sinatra前端,和2名工人。我不是一個鐵桿的人,並且在3天前從未使用過復甦。非常抱歉,如果我錯過了一些基本知識。
有沒有更好的方法來連接到我的紅寶石代碼中的redis實例?有沒有辦法在我的docker-composose中傳遞redis名稱?現在我resque-Web容器下方配置一樣,它似乎很好地工作:
resque:
image: ennexa/resque-web
links:
- redis:redisserver
ports:
- "5678:5678"
command: "-r redis://redisserver:6379"