docker 安装 solo 无法通过浏览器访问初始化

本贴最后更新于 521 天前,其中的信息可能已经时移世改

Docker version 20.10.17
solo version 镜像的最新版

官方文档命令
docker run --detach --name solo --network=host \
    --env RUNTIME_DB="MYSQL" \
    --env JDBC_USERNAME="root" \
    --env JDBC_PASSWORD="123456" \
    --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&allowPublicKeyRetrieval=true" \
    b3log/solo --listen_port=8080 --server_scheme=http --server_host=localhost --server_port=
个人启动命令
docker run -d --name solo --network=common-network \
-v /opt/solo/skins/:/skins/ \
--env RUNTIME_DB="MYSQL" \
--env JDBC_USERNAME="username" \
--env JDBC_PASSWORD="password" \
--env JDBC_DRIVER="com.mysql.cj.jdbc.Driver" \
--env JDBC_URL="jdbc:mysql://172.18.0.2:3306/solo?useUnicode=yes&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true" \
b3log/solo --listen_port=8080 --server_scheme=http --server_host=localhost --server_port=

改动如下:

  • --network 从 host 改为之前自己之前搭建其他环境的 common-network
  • 127.0.0.1 改为 MySQL 容器的的 172.18.0.2
启动正常

image.png

日志正常

image.png

数据库初始化正常

image.png

nginx 反代如下

[root@VM-24-13-centos conf.d]# cat solo.conf 
upstream solo {
    server localhost:8080; # 监听的ip:port
}
server {
    listen      80;
    server_name solo.***.cn;
    access_log off;
    location / {
        proxy_pass_header Server;
        proxy_set_header Host $http_host;
        #proxy_redirect off;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Scheme $scheme;
        client_max_body_size  10m;
        proxy_pass http://solo;
    }
}
问题如下
  • 本机 curl http://localhost:8080 失败
  • 域名访问 502
  • 端口查询 8080 没有服务

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...
  • hejojo

    问题已解决,将 docker 命令加上 -p 8000:8080 修改默认端口即可。虽然不知道为什么,原来的 8080 也没有服务占用