Docker + Kong: [PostgreSQL error] failed to retrieve PostgreSQL server_version_num: connection refused Docker + Kong: [PostgreSQL error] failed to retrieve PostgreSQL server_version_num: connection refused docker docker

Docker + Kong: [PostgreSQL error] failed to retrieve PostgreSQL server_version_num: connection refused


The article you're referring is a bit outdated

Note for Kong < 0.15: with Kong versions below 0.15 (up to 0.14), use the up sub-command instead of bootstrap. Also note that with Kong < 0.15, migrations should never be run concurrently; only one Kong node should be performing migrations at a time. This limitation is lifted for Kong 0.15, 1.0, and above.

Reference https://hub.docker.com/_/kong

Kong docs https://docs.konghq.com/install/docker

The instructions below should work

Create a docker network

docker network create kong-net

Start a PostgreSQL container

docker run -d --name kong-database \--network=kong-net \-p 5555:5432 \-e "POSTGRES_USER=kong" \-e "POSTGRES_DB=kong" \-e "POSTGRES_PASSWORD=kong" \postgres:12.2

Prepare your database

docker run --rm \--network=kong-net \-e "KONG_DATABASE=postgres" \-e "KONG_PG_HOST=kong-database" \-e "KONG_PG_PASSWORD=kong" \kong:2.0.3 kong migrations bootstrap

Start Kong

docker run -d --name kong \--network=kong-net \--link kong-database:kong-database \-e "KONG_DATABASE=postgres" \-e "KONG_PG_HOST=kong-database" \-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 8001:8001 \-p 8444:8444 \kong