You are browsing documentation for an older version. See the latest documentation here.
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. Support for Cassandra will be removed in a future release.
Our target for Cassandra removal is the Kong Gateway 3.4 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 data store (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" \ 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_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 ›