Go App无法通过docker-compose内部的websocket连接

问题描述

因此,我有一个用Go编写的非常简单的应用程序,该应用程序需要通过websocket连接到数据库。当我在容器中运行数据库并通过docker run -d -p 8182:8182 tinkerpop/gremlin-server公开所需的端口,并且应用程序本地指向localhost:8182时,此方法运行良好。

但是,我现在想通过compose for CI在两个容器中运行,而我的应用程序找不到数据库。我试过使用docker主机名,IP地址,并在0.0.0.0上侦听无济于事。目前,我的撰写内容如下:

version: '3'

services:
  db:
    image: tinkerpop/gremlin-server
    hostname: gremlin
    ports:
      - 8182:8182
  server:
    build: .
    environment:
      ORBITAL_DB_ADDRESS: "ws://gremlin:8182"
    ports:
    - 5000:5000
    depends_on:
      - db

但是,我似乎只能从我的应用容器中收到以下消息:dial tcp: lookup gremlin on 127.0.0.11:53: no such host

尽管我的应用在0.0.0.0上设置为ListenAndServe,但这仍然是这样:

err := http.ListenAndServe(fmt.Sprintf("0.0.0.0:%d",conf.Service.Port),nil)

任何帮助将不胜感激。谢谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)