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

Docker搭建LAMP时phpMyAdmin连接MariaDB报名称解析错误如何解决

问题原因

这个报错的本质是phpMyAdmin容器无法解析数据库服务的域名,找不到对应的数据库地址,原因有两个:

  • 你的phpMyAdmin配置中没有指定MYSQL_HOST环境变量,phpMyAdmin默认会尝试连接名为db的数据库主机,但你的数据库服务名是database,主机名不匹配,导致解析失败。
  • phpMyAdmin服务没有显式加入default网络,虽然Docker Compose默认会给未指定网络的服务加入默认网络,但显式配置可以避免不同版本的兼容性问题。
解决方法

第一步:修改Docker Compose配置

调整phpmyadmin服务的配置,补充MYSQL_HOST环境变量和网络配置,冗余的links配置可以直接删除,同Docker网络下服务名可直接作为域名互通:

phpmyadmin:
    image: phpmyadmin/phpmyadmin
    container_name: 'phpmyadmin'
    networks: 
      - default
    environment:
        MYSQL_HOST: database
        MYSQL_USER: root
        MYSQL_PASSWORD: test
        MYSQL_ROOT_PASSWORD: test 
    ports:
      - 8000:80

第二步:重启服务

执行以下命令销毁旧容器并重新启动服务:

docker compose down && docker compose up -d

第三步:验证登录

等待服务启动完成后,再次访问localhost:8000,直接输入用户名root、密码test即可正常登录,不需要额外填写服务器地址。

可选排查步骤

如果修改后仍然报错,可以按以下步骤排查:

  • 执行docker compose ps确认所有容器状态均为Up,没有异常退出
  • 执行docker exec -it phpmyadmin ping database,如果能正常返回响应说明网络互通正常,问题出在phpMyAdmin配置;如果不通则检查两个服务是否在同一网络下,可以执行docker network ls找到对应项目的默认网络,再用docker network inspect 网络名确认两个容器都在该网络的容器列表中。

内容的提问来源于stack exchange,提问作者El Hombre Sin Nombre

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 23:06:04