Docker 本地化部署 Solo,浏览器无法初始化

各位大佬,此问题困扰了我好久。

问题描述:

官方教程命令,在本地电脑和阿里云上运行都不报错,但是本地无法访问 Web 端进行初始化:

docker run --detach --name solo --network=host \
  --env RUNTIME_DB="MYSQL" \
  --env JDBC_USERNAME="root" \
  --env JDBC_PASSWORD="root" \
  --env JDBC_DRIVER="com.mysql.cj.jdbc.Driver" \
  --env JDBC_URL="jdbc:mysql://127.0.0.1:3306/solo?useUnicode=yes&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC" \
  --rm \
  b3log/solo --listen_port=8080 --server_scheme=http --server_host=这里替换了以下几个情况:localhost、127.0.0.1、本地内网IP、阿里云公网ip

本地环境:Mac+Docker

阿里云环境:Centos+Docker

只有访问 http://阿里云公网 ip:8080/ 地址出现了初始化页面 👍 👍👍👍

http://localhost:8080 出现 无法访问 😭 😭😭

本地试了好多个入口:

http://localhost:8080

http://127.0.0.1:8080

http://10.1.160.254:8080

这三个地址 都看不到 欢迎使用 Solo 页面

好纳闷,是哪里出问题了?

请指教。

以下是本地 Docker 日志

[INFO ]-[2020-07-15 20:12:42]-[org.b3log.solo.Server:253]: Solo is booting [ver=4.2.0, os=Linux, isDocker=true, inJar=false, luteAvailable=false, pid=1, runtimeDatabase=MYSQL, runtimeMode=PRODUCTION, jdbc.username=root, jdbc.URL=jdbc:mysql://127.0.0.1:3306/solo?useUnicode=yes&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC],
[WARN ]-[2020-07-15 20:12:42]-[org.b3log.solo.service.InitService:156]: Solo has not been initialized, please open your browser to init Solo,

赞助商 我要投放

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • bugless 1 1 评论

    对于这个问题,应该有些眉目了

    我的是 Mac 环境,Docker for Mac 是不支持 --net=host 的

    换句话说:--net=host 仅在 Linux 系统上有效

    所以 solo 这个官方 docker 安装脚本在 Docker for Mac 下是有问题的。

    1 回复
  • 其他回帖
  • 88250
    • --server_host 不是监听端口,本地的话用 localhost,服务器上用公网 IP 或者域名
    • 服务器上用 NGINX 反代一下

    具体请参考 B 站上的视频教程,还有疑问欢迎跟帖,谢谢。

    2 回复
  • bugless

    好,感谢,抽空再试试。

    生产环境 aliyun 已经妥了,开始正式启用了,本地无所谓了。

  • 88250

    我没有试过 Mac Docker,本地的话可以试试通过 Java 启动或者用源码搭建,视频教程可参考 B 站 Solo 教程

    2 回复
  • 查看全部回帖