【问题标题】:How can I make a HTTP request from one docker container to another linked container?如何从一个 docker 容器向另一个链接容器发出 HTTP 请求?
【发布时间】:2015-02-10 14:25:55
【问题描述】:

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

我现在的问题是如何向另一个链接容器发出 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 参数传递什么?

【问题讨论】:

    标签: node.js sinatra docker boot2docker faraday


    【解决方案1】:

    您将在fig.yml 中使用服务名称,在这种情况下,我认为您将其称为flickrcrawler。比如http://flickrcrawler:3100

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-26
      • 2018-11-08
      • 1970-01-01
      相关资源
      最近更新 更多