solo 使用 docker 安装问题

本贴最后更新于 2065 天前,其中的信息可能已经时过境迁
  • 前情:不是在本地,在服务器中。

  • 问题:nginx 反向代理不生效。

  1. docker 启动容器命令
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://172.17.0.2:3307/solo?useUnicode=yes&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC" \ b3log/solo --listen_port=8080 --server_scheme=http --server_host=
  1. 这是容器状态
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES db1e11e36736 b3log/solo "java -cp WEB-INF/li…" 47 hours ago Up 9 minutes solo 6caf6540591d mysql:5.7 "docker-entrypoint.s…" 8 days ago Up 2 days 3306/tcp, 33060/tcp, 0.0.0.0:3307->3307/tcp mysql
  1. nginx 配置文件
    因为没有域名,所以 server_name 使用 ip
server { listen 80; server_name 106.13.196.138; location / { proxy_pass http://127.0.0.1:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } }
  1. 测试服务器中是否可以访问 127.0.0.1:8080
  • 在服务器中可以访问到页面 html
[root@instance-qgtp1aez]~# curl http://127.0.0.1:8080 <!DOCTYPE html> <html> <head> <link type="text/css" rel="stylesheet"alhost:8080/">on">lication/rss+xml" rel="alternate"/>nsearch.xml"> href="http://localhost:8080/scss/start.css?1568862416167" charset="utf-8"/> <meta name="robots" content="none"/> </head> <body> <div class="wrap"> <div class="content-wrap"> <div class="content"> <div class="main"> <h2> <span>欢迎使用</span> <a target="_blank" href="https://solo.b3log.org"> <span class="error">&nbsp;Solo</span> </a> </h2> <div id="github"> <div class="github__icon startAction"> <img src="http://localhost:8080/images/github.png"/> </div> <br> <button class="startAction">登录 GitHub 账号后即可开始使用</button><br> <a class="github__link" href="javascript:$('ul').slideToggle()">查看 GitHub 数据使用说明</a> <div class="github__text"> <ul> <li>获取用户名、头像等用于初始化</li> <li>获取公开仓库信息用于展示</li> <li>不会对你的已有数据进行写入</li> </ul> </div> <label class="github__check"> <input type="checkbox" id="isAgreenCheck" checked> <span> 是否愿意在 GitHub 上收藏该<a href="https://github.com/b3log/solo" target="_blank">项目</a>、关注<a href="https://github.com/88250" target="_blank">开发者</a>并加入 <a href="https://github.com/b3log" target="_blank">B3log 开源组织</a> </span> </label> </div> <script type="text/javascript" src="http://localhost:8080/js/lib/jquery/jquery.min.js" charset="utf-8"></script> <script type="text/javascript"> (function () { try { $('.startAction').click(function () { var isAgreen = $('#isAgreenCheck').prop('checked') ? '0' : '1' window.location.href = 'http://localhost:8080/oauth/github/redirect?referer=http%3A%2F%2Flocalhost%3A8080__' + isAgreen $('#github').addClass('github--loading') }) } catch (e) { document.querySelector('.main').innerHTML = "<h2><a href='https://hacpai.com/tag/Latke' target='_blank'>Latke</a> 配置错误</h2><div style='text-align:center'><br><br><br>请浏览 <a target='_blank' href='https://hacpai.com/article/1474087427032'>Latke 配置剖析</a> 以解决该问题。<br><br><br></div>" } })() </script> </div> </div> </div> <div class="footerWrapper"> <div class="footer"> Powered by <a href="https://b3log.org" target="_blank">B3log 开源</a> • <a href="https://solo.b3log.org" target="_blank">Solo</a> 3.6.4 </div> </div> </div> </body> </html> <!-- Generated by Latke (https://github.com/b3log/latke) in 36ms, 2019/09/19 11:24:46 -->#
  1. tcp 端口
[root@instance-qgtp1aez]~# netstat -ntpl Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 2032/mysqld tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1533/rpcbind tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 5546/nginx: worker tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 8798/pure-ftpd (SER tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 8242/sshd tcp 0 0 0.0.0.0:8888 0.0.0.0:* LISTEN 3186/python tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 15885/master tcp6 0 0 :::3307 :::* LISTEN 15012/docker-proxy tcp6 0 0 :::781 :::* LISTEN 2260/./bcm-agent tcp6 0 0 :::111 :::* LISTEN 1533/rpcbind tcp6 0 0 :::8080 :::* LISTEN 1733/java tcp6 0 0 :::21 :::* LISTEN 8798/pure-ftpd (SER tcp6 0 0 :::22 :::* LISTEN 8242/sshd tcp6 0 0 ::1:25 :::* LISTEN 15885/master
  1. 最终定位可能是 nginx 反向代理没有生效,对 nginx 不太熟悉,求助热心网友帮助。多谢!
  • Solo

    Solo 是一款小而美的开源博客系统,专为程序员设计。Solo 有着非常活跃的社区,可将文章作为帖子推送到社区,来自社区的回帖将作为博客评论进行联动(具体细节请浏览 B3log 构思 - 分布式社区网络)。

    这是一种全新的网络社区体验,让热爱记录和分享的你不再感到孤单!

    1441 引用 • 10069 回帖 • 496 关注
  • NGINX

    NGINX 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 NGINX 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本 0.1.0 发布于 2004 年 10 月 4 日。

    315 引用 • 547 回帖 • 1 关注
  • Q&A

    提问之前请先看《提问的智慧》,好的问题比好的答案更有价值。

    9766 引用 • 44433 回帖 • 88 关注
2 操作
JayEDC 在 2019-09-19 12:01:35 更新了该帖
JayEDC 在 2019-09-19 12:01:20 更新了该帖

相关帖子

被采纳的回答
  • 88250 1 1 赞同

    启动参数 --server_host= 值请设置为域名或者 IP,--server_port 设置为端口。

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...
  • 88250 1 1 赞同

    启动参数 --server_host= 值请设置为域名或者 IP,--server_port 设置为端口。

    1 回复
  • 其他回帖
  • LiuKang

    docker run --detach --name solo -p 80:80 ^ --env RUNTIME_DB="MYSQL" ^ --env JDBC_USERNAME="root" ^ --env JDBC_PASSWORD="123456" ^ --env JDBC_DRIVER="com.mysql.cj.jdbc.Driver" ^ --env JDBC_URL="jdbc: ^ b3log/solo --listen_port=80 --server_scheme=http --server_host=www.kanglucky.cn
    f90dbe7d287e7b9f076fa1b2550903c4ddec7ad2815a46c23aa039ad7922debb

    C:\WINDOWS\system32>docker ps
    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    c4db783e5c50 mysql:5.6 "docker-entrypoint.s…" 15 hours ago Up 2 hours 0.0.0.0:3306->3306/tcp mysql

    C:\WINDOWS\system32>docker ps -a
    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    f90dbe7d287e b3log/solo "java -cp lib/*:. or…" 13 hours ago Exited (255) 16 seconds ago solo
    c4db783e5c50 mysql:5.6 "docker-entrypoint.s…" 15 hours ago Up 2 hours 0.0.0.0:3306->3306/tcp mysql

    为什么我安装并启动成功 solo 但 docker ps 下没有查看到 solo 呢?STATUS 为 Exited???

  • JayEDC via macOS
    作者

    非常感谢收到你的回答,问题已经解决,没有使用 nginx 做反向代理,而是在 docker 启动 solo 容器时将 network=host 改为使用端口映射的方式。可以通过 http://106.13.196.138:8080/ 访问博客主页。问题已经解决,只是 nginx 反向代理没有成功,有些不解。

    docker run --detach --name solo -p 8080:8080 \ --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://172.17.0.2:3307/solo?useUnicode=yes&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC" \ b3log/solo --listen_port=8080 --server_scheme=http --server_host=106.13.196.138 --server_port=8080

推荐标签 标签

  • 微软

    微软是一家美国跨国科技公司,也是世界 PC 软件开发的先导,由比尔·盖茨与保罗·艾伦创办于 1975 年,公司总部设立在华盛顿州的雷德蒙德(Redmond,邻近西雅图)。以研发、制造、授权和提供广泛的电脑软件服务业务为主。

    8 引用 • 44 回帖
  • TextBundle

    TextBundle 文件格式旨在应用程序之间交换 Markdown 或 Fountain 之类的纯文本文件时,提供更无缝的用户体验。

    1 引用 • 2 回帖 • 80 关注
  • 反馈

    Communication channel for makers and users.

    121 引用 • 907 回帖 • 273 关注
  • IPFS

    IPFS(InterPlanetary File System,星际文件系统)是永久的、去中心化保存和共享文件的方法,这是一种内容可寻址、版本化、点对点超媒体的分布式协议。请浏览 IPFS 入门笔记了解更多细节。

    21 引用 • 245 回帖 • 227 关注
  • Openfire

    Openfire 是开源的、基于可拓展通讯和表示协议 (XMPP)、采用 Java 编程语言开发的实时协作服务器。Openfire 的效率很高,单台服务器可支持上万并发用户。

    6 引用 • 7 回帖 • 107 关注
  • Kotlin

    Kotlin 是一种在 Java 虚拟机上运行的静态类型编程语言,由 JetBrains 设计开发并开源。Kotlin 可以编译成 Java 字节码,也可以编译成 JavaScript,方便在没有 JVM 的设备上运行。在 Google I/O 2017 中,Google 宣布 Kotlin 成为 Android 官方开发语言。

    19 引用 • 33 回帖 • 74 关注
  • FlowUs

    FlowUs.息流 个人及团队的新一代生产力工具。

    让复杂的信息管理更轻松、自由、充满创意。

    1 引用
  • 新人

    让我们欢迎这对新人。哦,不好意思说错了,让我们欢迎这位新人!
    新手上路,请谨慎驾驶!

    52 引用 • 228 回帖
  • QQ

    1999 年 2 月腾讯正式推出“腾讯 QQ”,在线用户由 1999 年的 2 人(马化腾和张志东)到现在已经发展到上亿用户了,在线人数超过一亿,是目前使用最广泛的聊天软件之一。

    45 引用 • 557 回帖 • 2 关注
  • VirtualBox

    VirtualBox 是一款开源虚拟机软件,最早由德国 Innotek 公司开发,由 Sun Microsystems 公司出品的软件,使用 Qt 编写,在 Sun 被 Oracle 收购后正式更名成 Oracle VM VirtualBox。

    10 引用 • 2 回帖 • 17 关注
  • 倾城之链
    23 引用 • 66 回帖 • 167 关注
  • 百度

    百度(Nasdaq:BIDU)是全球最大的中文搜索引擎、最大的中文网站。2000 年 1 月由李彦宏创立于北京中关村,致力于向人们提供“简单,可依赖”的信息获取方式。“百度”二字源于中国宋朝词人辛弃疾的《青玉案·元夕》词句“众里寻他千百度”,象征着百度对中文信息检索技术的执著追求。

    63 引用 • 785 回帖 • 91 关注
  • 程序员

    程序员是从事程序开发、程序维护的专业人员。

    589 引用 • 3538 回帖
  • HBase

    HBase 是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的 Google 论文 “Bigtable:一个结构化数据的分布式存储系统”。就像 Bigtable 利用了 Google 文件系统所提供的分布式数据存储一样,HBase 在 Hadoop 之上提供了类似于 Bigtable 的能力。

    17 引用 • 6 回帖 • 59 关注
  • Linux

    Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 Unix 的多用户、多任务、支持多线程和多 CPU 的操作系统。它能运行主要的 Unix 工具软件、应用程序和网络协议,并支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

    952 引用 • 944 回帖
  • 酷鸟浏览器

    安全 · 稳定 · 快速
    为跨境从业人员提供专业的跨境浏览器

    3 引用 • 59 回帖 • 49 关注
  • ngrok

    ngrok 是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道。

    7 引用 • 63 回帖 • 650 关注
  • C++

    C++ 是在 C 语言的基础上开发的一种通用编程语言,应用广泛。C++ 支持多种编程范式,面向对象编程、泛型编程和过程化编程。

    107 引用 • 153 回帖
  • Hibernate

    Hibernate 是一个开放源代码的对象关系映射框架,它对 JDBC 进行了非常轻量级的对象封装,使得 Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。

    39 引用 • 103 回帖 • 727 关注
  • frp

    frp 是一个可用于内网穿透的高性能的反向代理应用,支持 TCP、UDP、 HTTP 和 HTTPS 协议。

    20 引用 • 7 回帖
  • OneNote
    1 引用 • 3 回帖
  • API

    应用程序编程接口(Application Programming Interface)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。

    79 引用 • 431 回帖
  • 小说

    小说是以刻画人物形象为中心,通过完整的故事情节和环境描写来反映社会生活的文学体裁。

    32 引用 • 108 回帖
  • B3log

    B3log 是一个开源组织,名字来源于“Bulletin Board Blog”缩写,目标是将独立博客与论坛结合,形成一种新的网络社区体验,详细请看 B3log 构思。目前 B3log 已经开源了多款产品:SymSoloVditor思源笔记

    1063 引用 • 3455 回帖 • 159 关注
  • JSON

    JSON (JavaScript Object Notation)是一种轻量级的数据交换格式。易于人类阅读和编写。同时也易于机器解析和生成。

    52 引用 • 190 回帖
  • GitHub

    GitHub 于 2008 年上线,目前,除了 Git 代码仓库托管及基本的 Web 管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。正因为这些功能所提供的便利,又经过长期的积累,GitHub 的用户活跃度很高,在开源世界里享有深远的声望,并形成了社交化编程文化(Social Coding)。

    210 引用 • 2040 回帖
  • V2EX

    V2EX 是创意工作者们的社区。这里目前汇聚了超过 400,000 名主要来自互联网行业、游戏行业和媒体行业的创意工作者。V2EX 希望能够成为创意工作者们的生活和事业的一部分。

    16 引用 • 236 回帖 • 257 关注