我有一个里面装有sinatra应用程序的docker容器,另一个有一个node.js应用程序的容器。它们都通过Fig链接。在我的sinatra应用程序中,我向node.js应用程序发出了HTTP Post请求。为此,我使用了法拉第 gem 。

现在我的问题是如何向另一个链接的容器发出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

这是sinatra应用程序中用于发送带有farady的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参数?

最佳答案

您可以在fig.yml中使用服务的名称,在这种情况下,我认为您将其称为flickrcrawler。像http://flickrcrawler:3100这样的东西。

08-07 18:34