前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。

1. Docker 中安装并启动好网关 kong 后,想要安装 kong 的图形化界面 kong-dashboard ,运行命令:

docker run --rm -p 8080:8080 --name kong-dashboard pgbi/kong-dashboard start --kong-url http://xxx.xxx.xxx.xxx:8001

报错如下:

Connecting to Kong on http://xxx.xxx.xxx.xxx:8001 ...
        Could not reach Kong on http://xxx.xxx.xxx.xxx:8001
Error details:
{ Error: connect ETIMEDOUT xxx.xxx.xxx.xxx:8001
    at Object._errnoException (util.js:1019:11)
    at _exceptionWithHostPort (util.js:1041:20)
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1175:14)
  code: 'ETIMEDOUT',
  errno: 'ETIMEDOUT',
  syscall: 'connect',
  address: 'xxx.xxx.xxx.xxx',
  port: 8001 }

2.  原因:连接拒绝错误的是因为2个容器(kong 和 kong-dashboard)在默认桥接网络上,这不会执行DNS解析。

需要创建一个用户定义的桥接网络并将这两个容器添加到该网络 。

3. 解决:

创建桥梁网络
docker network create my-net
将Kong容器添加到它
docker network connect my-net kong
运行kong-dashboard时提供网络信息
docker run --rm --network my-net -p 8080:8080 pgbi/kong-dashboard start --kong-url http://kong:8001

PS : 最后一行命令运行 kong-dashboard 时,最末我原本是写的是“http://xxx.xxx.xxx.xxx:8001”,这样报错依旧,直到改为如上写成:“http://kong:8001”才行。

 

参考:https://github.com/PGBI/kong-dashboard/issues/156

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐