我正在尝试使用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
有谁能让我知道可能的原因是什么?
答案 0 :(得分:1)
好的,检查kong容器的日志以查找是否有任何错误(docker logs kong)。
如果没有任何错误,请检查端口上是否有正在运行的活动进程(sudo netstat -anp | grep 8001)。这将帮助我们了解docker-container端口8001是否已正确绑定到服务器端口8001以及端口正在运行的ip。
如果该端口上正在运行进程,则可能是在桥接网络上运行docker的问题,该网关无法使用localhost绑定端口。尝试使用网络主机( - net host)重新运行容器。然后它应该工作正常。