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

Linux系统下Docker部署的phpmyadmin无法访问/var/www目录问题

问题原因

你当前访问的Apache服务运行在phpMyAdmin的Docker容器内部,容器文件系统和宿主机相互隔离,默认情况下容器内的/var/www目录不存在你要访问的内容,且官方phpMyAdmin镜像的Apache站点根目录默认指向/usr/share/phpmyadmin,而非/var/www,所以直接访问对应路径会触发404报错。

解决方法

方法1:仅需要使用phpMyAdmin

直接访问http://localhost/index.php即可进入phpMyAdmin登录页面,不需要访问/var/www路径下的内容。

方法2:需要同时访问宿主机/var/www下的自定义项目和phpMyAdmin

需要在启动phpmyadmin容器时添加目录挂载,将宿主机的/var/www目录映射到容器内Apache可识别的路径下,操作步骤如下:

  • 先停止当前运行的phpmyadmin容器:
    docker stop phpmyadmin
  • 删除原有容器(不会丢失phpMyAdmin的核心配置,仅删除容器实例):
    docker rm phpmyadmin
  • 重新启动容器,添加挂载参数,这里将宿主机/var/www映射到容器内的/var/www/html目录,同时保留phpMyAdmin的访问能力:
    docker run -d --name phpmyadmin -p 80:80 -v /var/www:/var/www/html -e PMA_HOST=你的数据库主机地址 phpmyadmin
    注意替换命令中的你的数据库主机地址为你实际连接的数据库IP或域名,若数据库也运行在Docker容器中可填对应容器的名称
  • 启动完成后,访问http://localhost/你要访问的目录名即可打开宿主机/var/www下的对应项目,访问http://localhost/phpmyadmin即可进入数据库管理页面。

方法3:使用独立的Web服务容器运行项目,phpMyAdmin单独映射端口

如果不想改动原有phpmyadmin容器的配置,可以另外启动一个Apache或Nginx容器专门运行/var/www下的项目,将phpmyadmin容器的端口映射为其他端口比如8080,避免端口冲突:

  • 修改phpmyadmin容器的端口映射:
    docker run -d --name phpmyadmin -p 8080:80 -e PMA_HOST=你的数据库主机地址 phpmyadmin
  • 单独启动Web服务容器挂载/var/www目录映射到80端口即可,两个服务互不干扰。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 19:06:05