docker 控制台中的 phpmyadmin 错误

Posted

技术标签:

【中文标题】docker 控制台中的 phpmyadmin 错误【英文标题】:phpmyadmin in docker console errors 【发布时间】:2021-03-25 01:46:28 【问题描述】:

我在同一个 docker 网络中有三台服务器 - mysql(本地主机上的 3306)nginx(80 443 端口)和 phpmyadmin(5000)。当我尝试访问 localhost:5000 上的 phpmyadmin 时 - 它的工作完美 phpmyadmin

但是当我在我的 nginx 服务器上使用反向代理时:

location /phpmyadmin 
    proxy_http_version 1.1;
    proxy_pass https://$PMA:5000/;

出现白屏和 console.log 错误:

phpmyadmin:21 GET https://localhost/js/whitelist.php?v=5.0.4 net::ERR_ABORTED 404 (Not Found)
phpmyadmin:15 GET https://localhost/js/vendor/codemirror/addon/lint/lint.css?v=5.0.4 net::ERR_ABORTED 404 (Not Found)
phpmyadmin:14 GET https://localhost/js/vendor/codemirror/addon/hint/show-hint.css?v=5.0.4 net::ERR_ABORTED 404 (Not Found)
phpmyadmin:25 GET https://localhost/js/vendor/bootstrap/bootstrap.bundle.min.js?v=5.0.4 

.. 我该如何解决这个问题?

【问题讨论】:

【参考方案1】:

我了解 nginx 和 phpmyadmin 正在为 docker 服务。我使用以下配置,您可以使用容器 docker 网络网关 IP 更改 172.17.0.1。

location /phpmyadmin 
    proxy_pass http://172.17.0.1:5000;

如果有防火墙,则必须检查允许互相访问docker容器的防火墙配置。

iptables 规则:

iptables -A INPUT -s 172.17.0.1/16 -j ACCEPT

firewall-cmd 规则:

firewall-cmd --add-rich-rule='rule family=ipv4 source address=172.17.0.1/16 accept' --permanent
firewall-cmd --reload

【讨论】:

谢谢我尝试检查文件墙,但它看起来像 nginx 容器在其内部搜索文件。 $PMA 用命令替换 IP 地址 = envsubst nginx.conf 你试过添加phpmyadmin docker环境变量PMA_ABSOLUTE_URI=localhost/phpmyadmin 已尝试,新的错误日志:未检查 runtime.lastError:消息端口在收到响应之前已关闭。 jquery.min.js?v=5.0.4:1 Uncaught SyntaxError: Unexpected token '

以上是关于docker 控制台中的 phpmyadmin 错误的主要内容,如果未能解决你的问题,请参考以下文章

云原生之Docker实战使用Docker部署phpMyAdmin数据库管理工具

PHPMYADMIN 中的过程和触发器

在 phpmyadmin 上找不到 404 - nginx docker

docker安装phpmyadmin

docker安装phpmyadmin

主机上 Docker/MySQL 上的 PhpMyadmin