You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker Hive容器启动报错:pg_isready: command not found 求助

解决Hive容器启动时pg_isready: command not found报错

排查方向与解决方案

  • 确认PostgreSQL客户端是否完整安装
    检查Hive容器Dockerfile中安装PostgreSQL客户端的命令是否适配基础镜像的系统:

    • 若基础镜像是Debian/Ubuntu系列,确保使用命令:
      RUN apt-get update && apt-get install -y --no-install-recommends postgresql-client && rm -rf /var/lib/apt/lists/*
      
    • 若基础镜像是CentOS/RHEL系列,使用命令:
      RUN yum install -y postgresql && yum clean all
      

    部分镜像可能需要额外安装postgresql-client-common类依赖包,才能确保pg_isready被正确部署。

  • 验证pg_isready的存在与路径
    手动进入Hive容器,执行命令确认命令是否存在:

    docker exec -it <hive-container-name> /bin/bash
    which pg_isready
    

    如果返回空路径,说明客户端未正确安装;如果返回具体路径(比如/usr/bin/pg_isready),则需确保entrypoint.sh中使用绝对路径调用,或把该路径加入环境变量。

  • 修正entrypoint.sh中的调用方式
    若pg_isready存在但不在默认PATH中,可在entrypoint.sh的调用语句前添加绝对路径,例如:

    /usr/bin/pg_isready -h <postgres-host> -p <postgres-port>
    

    或者在entrypoint.sh开头添加PATH配置:

    export PATH=$PATH:/usr/bin
    
  • 清理Docker构建缓存
    若修改Dockerfile后未重新构建镜像,容器可能仍在使用旧镜像。执行命令重新构建:

    docker-compose build --no-cache hive
    

内容的提问来源于stack exchange,提问作者jr134

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 11:03:15