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

Docker部署Piwigo提示Cannot connect to server问题求助

Piwigo Docker 连接数据库失败(Cannot connect to server)的原因及修复方法
  • 数据库容器未完全启动
    Docker Compose 启动多容器时,Piwigo 容器可能先于数据库容器完成启动,此时数据库服务尚未就绪,导致连接失败。
    修复:

    1. 停止所有容器:docker-compose down
    2. 重新启动后等待数据库容器就绪:docker-compose up -d,可通过docker logs <你的db容器名>查看日志,确认出现类似"ready for connections"的就绪提示后,再访问Piwigo配置页面。
    3. 进阶方案:修改docker-compose.yml,给Piwigo容器添加依赖和健康检查,确保数据库就绪后再启动Piwigo:
      在piwigo服务节点下添加:
      depends_on:
        db:
          condition: service_healthy
      
      同时给db服务节点添加健康检查配置:
      healthcheck:
        test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "piwigo", "-ppiwigo"]
        interval: 10s
        timeout: 5s
        retries: 5
      
  • 数据库服务器地址填写错误
    Piwigo容器与数据库容器是独立的隔离环境,不能用localhost作为数据库地址,必须使用Docker Compose中数据库服务的名称(默认是db)。
    修复:在Piwigo配置页面的「数据库服务器」字段填写db,而非localhost或127.0.0.1。

  • 数据库账号配置不匹配
    确认docker-compose.yml中数据库的环境变量与你在Piwigo配置中填写的信息一致:
    检查db服务的环境变量配置,确保以下三项均为piwigo:

    environment:
      MYSQL_DATABASE: piwigo
      MYSQL_USER: piwigo
      MYSQL_PASSWORD: piwigo
    

    如果配置不一致,修改docker-compose.yml后执行docker-compose down && docker-compose up -d重启容器。

  • 容器网络异常
    Docker Compose默认会为项目创建专属网络,确保Piwigo和数据库容器在同一网络内。
    修复:用docker network ls找到当前项目对应的网络,再通过docker inspect <网络名称>确认两个容器都在该网络中。若不在,重新执行docker-compose up -d让容器加入正确网络。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 01:45:00