Detailed tutorial on installing and using Kong API Gateway with Docker

Detailed tutorial on installing and using Kong API Gateway with Docker

1 Introduction

Kong is not a simple product. The Kong mentioned in this article mainly refers to Kong API Gateway, that is, API Gateway. This time we will just have a simple experience, install it through Docker, and then use its Route function.

2 Installation

Create a Docker Network:

# Create$ docker network create kong-net
# Check $ docker network list

Kong can be used in no-database mode. To take a peek at its configuration, we still use the database and start it as follows:

$ docker run -itd --network=kong-net \
    --name kong-database \
    -e POSTGRES_DB=kong \
    -e POSTGRES_USER=pkslow \
    -e POSTGRES_PASSWORD=pkslow-kong \
    -p 5432:5432 \
    postgres:13

Next, perform the migrations operation, which can be understood as preparing the database:

$ docker run --rm \
     --network=kong-net \
     -e "KONG_DATABASE=postgres" \
     -e "KONG_PG_HOST=kong-database" \
     -e "KONG_PG_USER=pkslow" \
     -e "KONG_PG_PASSWORD=pkslow-kong" \
     kong:2.5.0-ubuntu kong migrations bootstrap 

Once everything is ready, you can start Kong:

$ docker run -itd --name kong \
     --network=kong-net \
     -e "KONG_DATABASE=postgres" \
     -e "KONG_PG_HOST=kong-database" \
     -e "KONG_PG_USER=pkslow" \
     -e "KONG_PG_PASSWORD=pkslow-kong" \
     -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 127.0.0.1:8001:8001 \
     -p 127.0.0.1:8444:8444 \
     kong:2.5.0-ubuntu

Its Admin port is 8001, which can be verified by the following command:

$ curl -i http://localhost:8001/

3 Test the Route function

First create a service, which can be understood as registering a service. The service name is pkslow and the address is (www.pkslow.com):

$ curl -X POST --url http://localhost:8001/services/ --data 'name=pkslow' --data 'url=https://www.pkslow.com'

Create a routing rule with the path /pkslow and the corresponding service pkslow:

$ curl -X POST --url http://localhost:8001/services/pkslow/routes --data 'paths[]=/pkslow'

In this way, when we access the path /pkslow, other accesses are the contents of the service pkslow.

Access the test, note that the port is 8000:

$ curl -i -X ​​GET --url http://localhost:8000/pkslow

At this point, we have successfully installed and used the Route function of Kong Gateway.

4 Conclusion

The power of Kong lies in the fact that it can install many plug-ins to implement various functions, such as verification, current limiting, caching, etc. Its power is waiting for you to explore.

This is the end of this article about the detailed tutorial on how to install and use Kong API Gateway with Docker. For more information about installing Kong API Gateway with Docker, please search for previous articles on 123WORDPRESS.COM or continue to browse the following related articles. I hope you will support 123WORDPRESS.COM in the future!

You may also be interested in:
  • Use docker to build kong cluster operation
  • Example of how to install kong gateway in docker

<<:  50 Super Handy Tools for Web Designers

>>:  MySQL data insertion optimization method concurrent_insert

Recommend

Solution to index failure in MySQL due to different field character sets

What is an index? Why create an index? Indexes ar...

CentOS 7 installation and configuration method graphic tutorial

This article records the detailed installation tu...

A detailed analysis and processing of MySQL alarms

Recently, a service has an alarm, which has made ...

CentOS7.5 installation of MySQL8.0.19 tutorial detailed instructions

1. Introduction This article does not have screen...

Summary of Linux command methods to view used commands

There are many commands used in the system, so ho...

JavaScript static scope and dynamic scope explained with examples

Table of contents Preface Static scope vs. dynami...

MySQL5.6.31 winx64.zip installation and configuration tutorial

#1. Download # #2. Unzip to local and modify nece...

MySQL 5.7.33 installation process detailed illustration

Table of contents Installation package download I...

WeChat applet development chapter: pitfall record

Recently, I participated in the development of th...

Solution to the error in compiling LVGL emulator on Linux

Table of contents 1. Error phenomenon 2. Error An...

Summary of common operation skills of MySQL database

This article summarizes common operating techniqu...