尝试使用docker容器运行Kong API Gateway时连接被拒绝

时间:2017-05-18 23:17:24

标签: docker docker-container

我正在尝试使用docker容器运行Kong API Gateway。我按照 hub.docker.com / _ / kong / 上的说明,启动了Cassandra数据库和Kong。

我使用以下命令运行Cassandra:

docker run -d --name kong-database \
           -p 9042:9042 \
           cassandra:3

和Kong使用以下命令运行:

docker run -d --name kong \
          --link kong-database:kong-database \
          -e "KONG_DATABASE=cassandra" \
          -e "KONG_CASSANDRA_CONTACT_POINTS=kong-database" \
          -p 8000:8000 \
          -p 8443:8443 \
          -p 8001:8001 \
          -p 7946:7946 \
          -p 7946:7946/udp \
          kong:latest

两个容器都在运行。 (我现在没有足够的声誉来嵌入图片,所以请在此处查看截图: my container list

然而,当我这样做时:

$ curl http://127.0.0.1:8001 

我明白了:

curl: (7) Failed to connect to 127.0.0.1 port 8001: Connection refused

有谁能让我知道可能的原因是什么?

1 个答案:

答案 0 :(得分:1)

好的,检查kong容器的日志以查找是否有任何错误(docker logs kong)。

如果没有任何错误,请检查端口上是否有正在运行的活动进程(sudo netstat -anp | grep 8001)。这将帮助我们了解docker-container端口8001是否已正确绑定到服务器端口8001以及端口正在运行的ip。

如果该端口上正在运行进程,则可能是在桥接网络上运行docker的问题,该网关无法使用localhost绑定端口。尝试使用网络主机( - net host)重新运行容器。然后它应该工作正常。