如何为 pgadmin4 执行 docker-compose healthcheck

San*_*han 5 docker docker-compose

我已经为 postgresql 和 pgadmin4 创建了 yml 文件。想要对这两个容器进行健康检查。我怎样才能做到这一点?

Dan*_*san 4

对于 PostgreSQL,您希望从容器运行pg_isready -U username,其中username是数据库的有效用户名。

对于 pgAdmin,您希望从容器运行wget -O - http://localhost:80/misc/ping

这看起来像这样:

services:
  postgre:
    image: postgres
    environment:
      - POSTGRES_USER=foo
    healthcheck:
      test: ["CMD", "pg_isready", "-U", "foo"]
    ...

  pgadmin:
    image: dpage/pgadmin4
    healthcheck:
      test: ["CMD", "wget", "-O", "-", "http://localhost:80/misc/ping"]
    ...
Run Code Online (Sandbox Code Playgroud)

您可以在这里找到一个现实世界的例子