首页 > 解决方案 > 如何修复konga_db

问题描述

这是码头工人我

0e60f32df539        pantsel/konga:legacy                                               "/app/start.sh"          3 days ago          Up 1 second         0.0.0.0:1337->1337/tcp                                               konga
da8fe5294057        kong                                                               "/docker-entrypoint.…"   8 days ago          Up 33 minutes       0.0.0.0:8000-8001->8000-8001/tcp, 0.0.0.0:8443-8444->8443-8444/tcp   kong
0caeee73418b        postgres:9.6                                                       "docker-entrypoint.s…"   8 days ago          Up 34 minutes       0.0.0.0:5432->5432/tcp                                               kong-database

我尝试安装

docker run --rm --network=kong-net pantsel/konga -c prepare -a postgres -u postgresql://kong@kong-database:5432/konga_db

这是错误

debug: Preparing database...
Using postgres DB Adapter.
Failed to connect to DB { Error: getaddrinfo ENOTFOUND kong-database kong-database:5432
    at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:67:26)
  errno: 'ENOTFOUND',
  code: 'ENOTFOUND',
  syscall: 'getaddrinfo',
  hostname: 'kong-database',
  host: 'kong-database',
  port: 5432 }

如何修复错误?

标签: postgresqldockerkong

解决方案


由于该错误暗示它无法找到您为 PostgreSQL 引用的域名。如果您在同一 VM 上运行所有 docker 容器,请尝试将 kong-database 更改为确切的主机名,即“localhost”。

该命令应如下所示:

docker run --rm --network=kong-net pantsel/konga -c prepare -a postgres -u postgresql://kong@localhost:5432/konga_db

正如@atline 建议的那样,还请确认您的 docker 网络,确认后docker network ls应回复如下:

NETWORK ID          NAME                DRIVER              SCOPE
3a03dfb71f30        bridge              bridge              local
0501e0af7350        kong-net            bridge              local
1decf874e725        host                host                local
adc2bd16eaa3        none                null                local

推荐阅读