2015-02-10 89 views
3

我有一個docker容器,裏面有一個sinatra應用程序,另一個容器有一個node.js應用程序。他們都通過圖鏈接。在我的sinatra應用程序中,我正在向node.js應用程序發出HTTP Post請求。爲此我使用了法拉第寶石。如何從一個碼頭集裝箱到另一個鏈接的集裝箱發出HTTP請求?

我現在的問題是如何向另一個鏈接的容器發出HTTP請求。

這裏是我的fig.yml

db: 
    image: mongo:2.6.7 
    command: --smallfiles 

api: 
    build: ./api 
    command: bundle exec rackup -p 3000 
    volumes: 
    - ./api:/code 
    ports: 
    - "3000:3000" 
    links: 
     - db 
     - flickrcrawler 

flickrcrawler: 
    build: ./flickr-crawler 
    ports: 
    - "3100:3100" 
    links: 
    - db 

,這裏是在西納特拉應用程序的方法,我使用,使與法拉第HTTP請求:

def crawler_call(url, tags) 
    tags.each do |t| 
    conn = Faraday.new(url: url) do |faraday| 
     faraday.request :url_encoded 
     faraday.response :logger 
     faraday.adapter Faraday.default_adapter 
    end 

    conn.post "#{t}" 
    end 
end 

什麼我會通過此方法,因爲URL參數?

回答

4

你會在你的fig.yml中使用服務的名稱,在這種情況下,我認爲你叫它flickrcrawler。所以像http://flickrcrawler:3100