docker搭建kong Windows

No.1 安装Dokcer Windows
No.2 windows WSL 迁移数据位置
  • WSL默认数据位置在C盘,这里迁移WSL数据到其他盘.
  1. 先退出docker
  2. 关闭WSL
    1
    wsl --shutdown
  3. 查看WSL列表
    1
    wsl --list -v
  4. 备份导出目前已有的数据
    1
    wsl --export docker-desktop-data "F:\wsl\data\docker-desktop-data.tar" #备份路径
  5. 删除原有数据
    1
    wsl --unregister docker-desktop-data
  6. 重新将备份数据导入数据到新盘 · 注意第三步备份的路径
    1
    wsl --import docker-desktop-data "F:\wsl\data" "F:\wsl\data\docker-desktop-data.tar" --version 2
  7. 重启docker软件
No.3 安装 postgresql

–name 指定容器名称
–restart=always 开机自启动容器
-v 将容器中的数据映射到宿主机上 {宿主机路径:docker容器中的路径}
-p 映射容器端口

1
2
docker pull postgresql:latest
docker run -d --name postgres --restart=always -v D:\\kong\\pglatestData:/var/lib/postgresql/data -e POSTGRES_PASSWORD=postgres -p 5433:5432 postgres:latest
No.4 将kong数据导入到postgresql

使用navicat连接postgresql并创建数据库 kong
–rm 容器将在退出时自动删除

1
2
3
4
5
6
7
8
9
10
11
12
docker run --name konginit --rm ^
--network=kong-network ^
-e "KONG_DATABASE=postgres" ^
-e "KONG_PG_HOST=postgres" ^
-e "KONG_PG_USER=kong" ^
-e "KONG_PG_PASSWORD=kong" ^
-e "KONG_ADMIN_LISTEN=0.0.0.0:8001, 0.0.0.0:8444 ssl" ^
-p 8000:8000 ^
-p 8443:8443 ^
-p 0.0.0.0:8001:8001 ^
-p 0.0.0.0:8444:8444 ^
kong:latest kong migrations bootstrap
No.5 安装kong并使用postgresql
1
2
3
4
5
6
7
8
9
10
11
12
docker run -d --name kong ^
--network=kong-network ^
-e "KONG_DATABASE=postgres" ^
-e "KONG_PG_HOST=postgres" ^
-e "KONG_PG_USER=kong" ^
-e "KONG_PG_PASSWORD=kong" ^
-e "KONG_ADMIN_LISTEN=0.0.0.0:8001, 0.0.0.0:8444 ssl" ^
-p 8000:8000 ^
-p 8443:8443 ^
-p 0.0.0.0:8001:8001 ^
-p 0.0.0.0:8444:8444 ^
kong:latest
No.6 访问测试
  • 8000 kong http 代理端口
  • 8443 kong https 代理端口
  • 8001 kong http 管理端口
  • 8444 kong https 管理端口
  • 访问 http://localhost:8000
No.7 将konga数据导入到postgresql

使用navicat连接postgresql并创建数据库 konga
–rm 容器将在退出时自动删除

1
2
docker pull pantsel/konga
docker run --rm pantsel/konga:latest -c prepare -a postgres -u postgresql://kong:kong@postgres:5432/konga
No.8 安装konga并使用postgresql
1
2
3
4
5
6
7
8
9
10
docker run -d --name konga ^
-p 1337:1337 ^
      -e "DB_ADAPTER=postgres" ^
      -e "DB_HOST=postgres" ^
      -e "DB_PORT=5432" ^
      -e "DB_USER=postgres" ^
      -e "DB_PASSWORD=postgres" ^
      -e "DB_DATABASE=konga" ^
      -e "NODE_ENV=production" ^
      pantsel/konga
No.9 使用konga链接kong
No.10 其他说明
1
2
3
4
5
6
7
8
9
10
11
12
13
14
postgres
默认端口 5432
Docker
-i 以交互模式运行容器,通常与 -t 同时使用;
-t 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
-d 后台运行容器,并返回容器ID;
--rm 退出删除容器
-p 主机端口:容器端口
docker ps -a 查看运行过的容器
docker images 查看镜像
docker rmi 删除镜像
dockr rm <CONTAINER_ID> 删除容器
docker exec -it <CONTAINER_ID> bash 进入容器
docker logs -t <CONTAINER_ID> 查看日志