从一个Dockerized Go服务获取查询到其他Dockerized Go服务

时间:2018-07-24 01:45:41

标签: docker go docker-compose

我在Go中内置了一些服务,我可以使用docker-compose部署它们。

我还链接了服务,但是现在,如果我从一个应用程序向另一个应用程序发出GET请求,则会得到不受支持的协议方案。这是因为我在URL中使用服务名称而未指定任何协议。链接和查询在mongoDB上可以正常使用,但在其他服务上则不能。

转到service1文件

url :="service2/get" // this is not working 
response, err := http.Get(url)
if err != nil {
    fmt.Printf("%s", err)
} else {
 //do something
 }

Docker-compose

  service1:
    container_name: 'service1'
    build: 'service1'
    ports:
      - '8080:8080'
    depends_on:
      - 'service2'
    links:
      - 'service2'
  service2:
    container_name: 'service2'
    build: 'service2'
    ports:
      - '9001:9001'

任何建议如何做到这一点?

1 个答案:

答案 0 :(得分:0)

如果我们这样使用就可以了

url :="http://service2:9001/get" // this is not working 
response, err := http.Get(url)
if err != nil {
    fmt.Printf("%s", err)
} else {
 //do something
 }