前言:

Kong 是天生的微服务网关。她的官方简介是:Kong 是一个云原生,高效,可扩展的分布式 API 网关。 自 2015 年在 github 开源后,广泛受到关注,目前已收获 1.9w+ 的 star,其核心价值在于高性能和可扩展性。

1. 数据库准备,拉取Postgresql镜像

sudo docker pull daocloud.io/library/postgres:9.6.4
备注:Postgresql不要太高,否则后面konga安装会报错

2. 构建Postgresql容器:

sudo docker run -d --name kong-db --network=mynetwork --ip 172.18.0.7 -p 5432:5432 -e "POSTGRES_USER=kong" -e "POSTGRES_DB=kong" -e "POSTGRES_PASSWORD=kong" -v /home/xujk/Work/Docker/Kong/db/pgdata:/var/lib/postgresql/data daocloud.io/library/postgres:9.6.4

3. 初始化数据库设置

docker run --rm --network=mynetwork -e "KONG_DATABASE=postgres" -e "KONG_PG_HOST=kong-db" -e "KONG_PG_PASSWORD=kong" -e "KONG_CASSANDRA_CONTACT_POINTS=kong-db" kong:latest kong migrations bootstrap

4. 创建Kong容器(v2.0.2)

docker run -d --name kong --network=mynetwork --ip 172.18.0.8 -e "KONG_DATABASE=postgres" \
-e "KONG_PG_HOST=172.18.0.7" \
-e "KONG_PG_PASSWORD=kong" \
-e "KONG_CASSANDRA_CONTACT_POINTS=kong-db" \
-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" \
-e "DNS_RESOLVER=172.18.0.16" \
-p 8000:8000 \
-p 8443:8443 \
-p 8001:8001 \
-p 8444:8444 \
kong:latest
注意:
这个地方一定要设置为容器ip,不要用容器名:kong-db,否则设置dns的时候(consul),会出现很大问题,无意间解决的,应该是别名的时候,dns解析不过去
还需要提醒的是,即使你参数里有 -e "DNS_RESOLVER=172.18.0.16",但是还是需要去修改配置文件,然后把配置文件copy到容器里,才会生效

5. 容器与宿主机间拷贝文件方法:

把kong容器的配置文件拷贝出来:
docker cp kong:/etc/kong/kong.conf.default /home/xujk/Work/Docker/Kong/kong/conf
把主机文件拷贝到容器中:
docker cp /home/xujk/Work/Docker/Kong/kong/conf/kong.conf.default kong:/etc/kong/kong.conf.default
重启容器生效,或者创建容器的时候挂载,因为前期没有挂载,所以要拷贝文件
进入kong容器命令:
docker exec -it kong /bin/sh
查看已下载的Docker镜像latest具体版本:
docker image inspect (docker image名称):latest|grep -i version
docker image inspect kong:latest|grep -i version

6. 测试kong网关是否成功:

curl -i http://localhost:8001/services
curl -i http://172.18.0.8:8001/services

Kong网关安装之Docker版(1)的更多相关文章

  1. Kong网关安装之Docker版(2)

    1.安装kong管理工具:konga或者kong-dashboard,这里选择konga 拉取konga镜像: sudo docker pull pantsel/konga:0.14.4 初始化kon ...

  2. Linux(Centos7)下安装 zookeeper docker版 集群

    为了省去麻烦的软件安装,现在开发环境需要的软件越来越习惯于docker安装了,先看下安装后的截图,开发环境正在启动的容器 1.首先系统需要先支持docker …… 由于之前安装几次都没有做流程记录,在 ...

  3. MacOs下安装Kong网关

    写在前面: 持续记录一下自己在解决api网关kong上的各种问题. 1.关于Kong网关 这是官网地址:https://konghq.com/ 2.通过brew安装postgres 因为kong的数据 ...

  4. rabbitMQ安装docker版 /权限管理命令

    1.进入docker hub镜像仓库地址:https://hub.docker.com/ 2.搜素rabbitMQ 查询镜像,可以看到多种类型,选择带有web页面的(managment) 3.拉取镜像 ...

  5. Docker版EKL安装记录文档

    Docker版EKL安装记录文档 拉取已下三个镜像 docker.io/logstash 7.5.2 b6518c95ed2f 6 months ago 805 MB docker.io/kibana ...

  6. linux centos7 非root用户安装源码版docker

    注意:非root用户必须要有sudo权限 一.安装前的准备 1.查看当前主机是否有docker组 若没有输出结果则新建 再次查看,发现已经有了docker组 2.新增拥有sudo权限的用户(若知道ro ...

  7. 在K3s上使用Kong网关插件,开启K3s的无限可能!

    我的工作中很重要的一部分是参加各种各样的技术会议.最近参加的是去年11月的北美KubeCon,在会议的最后一天,所有人都焦头烂额,我也一直机械地向不同的人重复我的自我介绍.后来,我已经十分烦躁,决定逃 ...

  8. Docker构建YApi镜像, Docker安装YApi, Docker部署YApi

    概述 YApi 是高效.易用.功能强大的 api 管理平台,旨在为开发.产品.测试人员提供更优雅的接口管理服务.可以帮助开发者轻松创建.发布.维护 API,YApi 还为用户提供了优秀的交互体验,开发 ...

  9. API网关之Kong网关简介

    1. Kong简介 那么,Kong是一个什么东东呢?它是一个开源的API网关,或者你可以认为它是一个针对API的一个管理工具.你可以在那些上游service之上,额外去实现一些功能.Kong是开源的, ...

随机推荐

  1. vue中输入框事件监听 v-on:input

    <van-field v-model="inputVal" v-on:input="search" />

  2. AOF重写导致的Redis进程被kill

    Redis环境描述 服务器: 阿里云16GB服务器 Redis版本: 5.0.5 持久化方式: AOF 问题描述 阿里云环境,使用docker安装的单节点redis5.x,频繁出现redis进程被操作 ...

  3. 第二章 - Java与协程

    Java与协程 内核线程的局限 通过一个具体场景来解释目前Java线程面临的困境.今天对Web应用的服务要求,不论是在请求数量上还是在复杂度上,与十多年前相比已不可同日而语,这一方面是源于业务量的增长 ...

  4. charles证书导入系统信任区(Android7.0以上)

    打开charles,跟着下图来,下载好charles的证书 后缀是pem的格式,挺方便的了,burp的证书是der的,还需要再进一步转化成pem,这里就不再多说, 利用openssl来计算出文件名 加 ...

  5. XCTF python-trade

    一.查看文件类型 后缀名为pyc,说明是python字节码文件,python和java在编译方式上很像,都是编译兼并解释型,先编译成字节码,在虚拟机上解释成机器代码. 二.反编译 三.写个exp 分析 ...

  6. jenkins报错: error: insufficient permission for adding an object to repository database .git/objects

    前言:这是在用jenkins去gitlab上面去拉下代码来编译,就报了这个错,在这里记录下,避免下次 报错:   17:08:17 error: insufficient permission for ...

  7. STM32中STD、HAL、LL库比较

    ST为开发者提供了标准外设库(STD库).HAL库.LL库 三种.前两者都是常用的库,后面的LL库是ST新添加的,随HAL源码包一起提供,目前支持的芯片也偏少. 标准外设库(Standard Peri ...

  8. FastTunnel-内网穿透原理揭秘

    之前写了一篇关于GVP开源项目FastTunnel的一篇介绍 <FastTunnel-开源内网穿透框架>,只简单介绍了使用方法,不少伙伴对其原理表示好奇,今天画抽空了一下其内部实现原理流程 ...

  9. Linux | 通配符 & 转义符

    通配符 我们在查看文件的时候,可能会出现只记得开头几个字母的情况,并且相似名称的文件还非常多的情况.还有小编想要删除一些开头一样的文件,这种情况下都可以使用通配符号: # 查找vcs文件 ls /de ...

  10. Java | 字符串的使用 & 分析

    字符串 字符串广泛应用 在 Java 编程中,在 Java 中字符串属于对象,在程序中所有的双引号字符串,都是String类的对象. 字符串的特点 1.字符串的内容永不可变. 2.正在是因为字符串的不 ...