Start Kong Gateway
In this section, you’ll learn how to install and manage your Kong Gateway instance. First, you’ll start Kong Gateway to gain access to its Admin API, where you’ll manage entities including Services, Routes, and Consumers.
Start Kong Gateway using Docker with a database
One quick way to get Kong Gateway up and running is by using Docker with a PostgreSQL database. We recommend this method to test out basic Kong Gateway functionality.
For a comprehensive list of installation options, see our Install page.
Create a Docker network:
docker network create kong-net
Run a PostGreSQL container:
docker run -d --name kong-database \
--network=kong-net \
-p 5432:5432 \
-e "POSTGRES_USER=kong" \
-e "POSTGRES_DB=kong" \
-e "POSTGRES_PASSWORD=kong" \
postgres:9.6
Deprecation warning: Cassandra as a backend database for Kong Gateway is deprecated. This means the feature will eventually be removed.
Our target for Cassandra removal is the Kong Gateway 4.0 release. Starting with the Kong Gateway 3.0 release, some new features might not be supported with Cassandra.
Data sent through the Admin API is stored in Kong’s datastore (Kong supports PostgreSQL and Cassandra).
Prep your database:
docker run --rm \
--network=kong-net \
-e "KONG_DATABASE=postgres" \
-e "KONG_PG_HOST=kong-database" \
-e "KONG_PG_USER=kong" \
-e "KONG_PG_PASSWORD=kong" \
-e "KONG_CASSANDRA_CONTACT_POINTS=kong-database" \
kong:latest kong migrations bootstrap
Start Kong:
docker run -d --name kong \
--network=kong-net \
-e "KONG_DATABASE=postgres" \
-e "KONG_PG_HOST=kong-database" \
-e "KONG_PG_USER=kong" \
-e "KONG_PG_PASSWORD=kong" \
-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 127.0.0.1:8001:8001 \
-p 127.0.0.1:8444:8444 \
kong:latest
Navigate to
http://localhost:8001/
.
Kong default ports
By default, Kong listens on the following ports:
8000
: listens for incomingHTTP
traffic from your clients, and forwards it to your upstream services.8001
: Admin API listens for calls from the command line overHTTP
.8443
: listens for incoming HTTPS traffic. This port has a similar behavior to8000
, except that it expectsHTTPS
traffic only. This port can be disabled via the configuration file.8444
: Admin API listens forHTTPS
traffic.
Lifecycle commands
Note: If you are using Docker, exec into the Docker container to use these commands.
Stop Kong Gateway using the stop command:
kong stop
Reload Kong Gateway using the reload command:
kong reload
Start Kong Gateway using the start command:
kong start
Next Steps
Now that you have Kong Gateway running, you can interact with the Admin API.
To begin, go to Configuring a Service ›