docker搭建JPress,在配置页填写已经设置的mysql用户和密码,但是报错如何解决?

发布于 2022-09-12 22:23:34 字数 758 浏览 23 评论 0

问题描述

新手参考基于docker搭建个人博客jpress这篇博客,用docker搭建JPress,在终端设置了mysql的密码:
docker run --name bolgmysql -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_DATABASE=bolgdb hub.c.163.com/library/mysql
JPress在8080端口跑起来了,卡在了配置页:
截屏2021-02-01 下午4.32.47.png
然而,报错说这个账号密码不对。

问题出现的平台版本及自己尝试过哪些方法

macOS:Big Sur11.1
Docker: 20.10.2

期待的结果

本来我是本地编译JPress,也是跑起来了,到设置页发现不支持mysql8.0,我又不太想卸载8.0安装5.7版本的。于是从头再来一遍用docker搭建,没想到在docker里设置好了账户密码还是报错。所以真的就是和mysql杠上了吗?必须要卸载本地的mysql8.0吗?

希望这是关于JPress的最后一个提问。

谢谢!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

一梦浮鱼 2022-09-19 22:23:34

看起来可能是网络的问题(宿主机和 Docker 容器不属于一个网段)。

从描述看来,你的宿主机(本机)上安装有 MySQL 8.0,然后使用 Docker 部署了 MySQL 5.7。再结合你给的文章链接来看,JPress 应用应该也是容器化部署在 Docker 环境中。
那么理论上你使用 127.0.0.1 并不能访问到期望的 MySQL 5.7 容器。

所以可以尝试检查一下 MySQL 5.7 容器的网络地址后重试一下

凶凌 2022-09-19 22:23:34

如果你的 JPress 也是运行在 docker 里面的话,IP不能用 127.0.0.1 ,得用 host.docker.internal 或者使用 docker-compose 来编排,直接用 service 名字作为 IP。

千仐 2022-09-19 22:23:34

看起来像是网络问题,运行mysql容器的时候加上--network host 指定使用主机网络,后面前端界面的主机栏填写宿主机的ip地址
docker run --name bolgmysql -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_DATABASE=bolgdb --network host hub.c.163.com/library/mysql

蓬勃野心 2022-09-19 22:23:34

换个端口号试试,-p 33057:3306

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文