使用docker启动kong和kong-dashboard

本文详细介绍了如何使用Docker搭建Kong API网关,包括创建网络、部署Postgres数据库、执行数据库迁移、启动Kong及Web管理工具Konga的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

安装kong

用docker创建一个network
docker network create kong-net

用docker创建postgres数据库

docker run -d --name kong-database \
               --network=kong-net \
               -p 5432:5432 \
               -e "POSTGRES_USER=kong" \
               -e "POSTGRES_DB=kong" \
               postgres:9.6

用docker执行kong的migrations,生成数据库表结构

docker run --rm \
     --network=kong-net \
     -e "KONG_DATABASE=postgres" \
     -e "KONG_PG_HOST=kong-database" \
     -e "KONG_CASSANDRA_CONTACT_POINTS=kong-database" \
     kong:latest kong migrations bootstrap

启动kong

docker run -d --name kong \
     --network=kong-net \
     -e "KONG_DATABASE=postgres" \
     -e "KONG_PG_HOST=kong-database" \
     -e "KONG_CASSANDRA_CONTACT_POINTS=kong-database" \
     -e "KONG_PROXY_ACCESS_LOG=/dev/stdout" \
     -e "KONG_ADMIN_ACCESS_LOG=/dev/stdout" \
     -e "KONG_PROXY_ERROR_LOG=/dev/stderr" \
     -e "KONG_ADMIN_ERROR_LOG=/dev/stderr" \
     -e "KONG_ADMIN_LISTEN=0.0.0.0:8001, 0.0.0.0:8444 ssl" \
     -p 8000:8000 \
     -p 8443:8443 \
     -p 8001:8001 \
     -p 8444:8444 \
     kong:latest

验证kong是否启动成功
$ curl -i http://localhost:8001/

安装kong的Web管理工具

github上有两个star较多,kongakong-dashboard,我推荐用konga

启动konga(选项参考konga文档)
docker run --network kong-net -p 1337:1337 --name konga -e "NODE_ENV=production" -e "TOKEN_SECRET=xxxxxxxxxx" pantsel/konga

浏览器访问http://127.0.0.1:1337 查看

参考:
kong官方文档
konga主页
解决报错: Connecting to Kong on http …

<think>我们正在处理用户的问题:用户希望使用Docker命令重启APISIXAPISIXDashboard服务。根据用户的问题,我们需要提供两个dockerrestart命令:一个用于重启APISIX容器,另一个用于重启APISIXDashboard容器。注意:容器名称通常由用户指定,但这里用户明确提到了“apisix”“apisix-dashboard”,因此我们假设容器名称就是这两个。步骤:1.重启APISIX容器:`dockerrestartapisix`2.重启APISIXDashboard容器:`dockerrestartapisix-dashboard`但是,请注意,如果用户自定义了容器名称,那么需要替换成实际的容器名称。另外,我们也可以提供一些额外的信息:-如何查看正在运行的容器:`dockerps`-如果重启后需要查看日志,可以使用:`dockerlogsapisix``dockerlogsapisix-dashboard`同时,考虑到用户可能对容器名称不确定,我们可以建议用户先使用`dockerps`来确认容器名称。因此,回答结构如下:1.说明重启命令。2.提醒用户确认容器名称。3.提供查看容器状态的命令。4.提供查看日志的命令(可选,以备重启后出现问题)。注意:我们不需要引用,因为用户的问题很直接,没有涉及之前的引用内容。但如果有必要,我们可以提及DockerEngineAPI(引用[1])作为背景,但这里不是必须。然而,用户的问题中提到了两个引用,但这两个引用似乎与当前问题无关:引用[1]是关于DockerEngineAPI的,引用[2]是关于Kubernetes中Istio的端口配置。因此,我们不必在回答中引用它们。最后,按照系统指令,我们需要生成相关问题。生成相关问题:1.如何查看Docker容器的运行状态?2.如何查看Docker容器的日志?3.如果容器重启失败,应该怎么排查?4.如何设置Docker容器开机自动启动?注意:系统要求使用中文回答。因此,完整回答如下:</think>### 使用 Docker 命令重启 APISIX APISIX Dashboard #### 重启命令 1. **重启 APISIX 容器** 执行以下命令(假设容器名为 `apisix`): ```bash docker restart apisix ``` 若容器名称不同,请替换为实际容器名(可通过 `docker ps` 查看)。 2. **重启 APISIX Dashboard 容器** 执行以下命令(假设容器名为 `apisix-dashboard`): ```bash docker restart apisix-dashboard ``` #### 操作说明 - **验证重启状态** 使用命令检查容器状态: ```bash docker ps -f "name=apisix" -f "name=apisix-dashboard" ``` 若状态显示 `Up` 表示重启成功。 - **查看日志(可选)** 若服务异常,可查看日志: ```bash docker logs apisix # APISIX 日志 docker logs apisix-dashboard # Dashboard 日志 ``` #### 注意事项 1. 容器名称需与实际部署一致(可通过 `docker ps` 查询)。 2. 若使用 Docker Compose,建议通过 `docker-compose restart` 管理服务组。 3. 重启会导致服务短暂中断,建议在低峰期操作。 --- ### 相关问题 1. 如何查看 APISIX 容器的实时运行日志? 2. Docker 容器重启失败的可能原因有哪些? 3. 如何配置 APISIX 容器实现开机自启动? 4. 除 `restart` 外,还有哪些 Docker 命令可管理服务状态? > 提示:Docker Engine API 提供了完整的容器管理接口,可通过 HTTP 请求实现类似功能[^1]。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值