Solo 升级小记

本贴最后更新于 1889 天前,其中的信息可能已经时异事殊

将近两个周没有登录博客了,今天使用 kubernetes-client 开发工具对 k8s 进行管理的时候踩了一个坑,随即准备写一篇博客记录整个过程,但是发现使用 GitHub 账号登录时总是出现 404,如图所示:

查看后台日志如下:

 
[INFO ]-[2020-01-16 23:14:16]-[org.b3log.solo.Server:215]: Solo is booting [ver=3.6.7, 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]
[INFO ]-[2020-01-16 23:14:18]-[org.b3log.solo.util.Skins:77]: Loaded template from directory [/opt/solo/]
[INFO ]-[2020-01-16 23:14:18]-[org.b3log.solo.Server:260]: Solo is running
[ERROR]-[2020-01-16 23:15:17]-[org.b3log.solo.processor.OAuthProcessor:119]: Gets oauth client id failed: HTTP/1.1 404 Not Found
[INFO ]-[2020-01-16 10:20:32]-[org.b3log.solo.processor.SitemapProcessor:109]: Generated sitemap
[ERROR]-[2020-01-16 21:48:32]-[org.b3log.solo.processor.OAuthProcessor:119]: Gets oauth client id failed: HTTP/1.1 404 Not Found

大概意思是获取 OAuth client id 失败了,想到之前在论坛上看到有一哥们安装 solo 就出现了 404,就上去瞄了一眼 D 大的回复,大多数都是建议更新后重启,现在就我重启的整个过程做一个记录,方便后面的兄弟遇到同样的问题时可以参考:

一、首先执行如下命令:

docker pull b3log/solo

会出现以下内容:

表示最新的镜像已经拉去下来了。(因为镜像是一层一层制作出来的,其中 Already exists 表示一些层已经存在了,可以进行复用)

二、然后执行 images 命令可以查看最新版的镜像已经拉下来了,并且替换掉了之前的镜像(并且可以看到新版的镜像比之前的镜像缩小了将近 20M,说明 D 大可能对镜像做过瘦身,给点个赞):

docker images

三、备份数据库

首先查看 MySQL 容器的 id:

docker ps | grep mysql

进入容器:

docker exec -it 6abbb1c15646 bash

之后备份数据的操作就和在本地安装了 MySQL 的电脑上操作一样了,这里不再赘述。

这里要强调的一点是,当你生成备份文件之后,最好将该文件拷贝到宿主机上,也就是你的服务器上面,可以通过以下操作完成:

# 在容器内执行
mysqldump -u root -p solo > /home/solo.sql
# 退出容器
exit
# 将容器内的备份文件拷贝到服务器的home目录下
docker cp 6abbb1c15646:/home/solo.sql /home
然后找到之前启动的solo容器,kill掉

然后使用 rm 命令彻底删除容器:

(可选)删除之前老版本的镜像(因为我的服务器硬盘容量不大,我一般都是能删的尽量都删干净了)

到这里我们博客的升级之旅就已经完成了,执行最后一步 docker run 重新拉起我们的容器就大功告成了:

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" .....

四、重新登录后台管理界面

相关帖子

欢迎来到这里!

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

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

推荐标签 标签

  • flomo

    flomo 是新一代 「卡片笔记」 ,专注在碎片化时代,促进你的记录,帮你积累更多知识资产。

    6 引用 • 140 回帖
  • HHKB

    HHKB 是富士通的 Happy Hacking 系列电容键盘。电容键盘即无接点静电电容式键盘(Capacitive Keyboard)。

    5 引用 • 74 回帖 • 493 关注
  • TextBundle

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

    1 引用 • 2 回帖 • 72 关注
  • 智能合约

    智能合约(Smart contract)是一种旨在以信息化方式传播、验证或执行合同的计算机协议。智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。智能合约概念于 1994 年由 Nick Szabo 首次提出。

    1 引用 • 11 回帖
  • Sublime

    Sublime Text 是一款可以用来写代码、写文章的文本编辑器。支持代码高亮、自动完成,还支持通过插件进行扩展。

    10 引用 • 5 回帖 • 3 关注
  • 创业

    你比 99% 的人都优秀么?

    82 引用 • 1395 回帖
  • SVN

    SVN 是 Subversion 的简称,是一个开放源代码的版本控制系统,相较于 RCS、CVS,它采用了分支管理系统,它的设计目标就是取代 CVS。

    29 引用 • 98 回帖 • 687 关注
  • 资讯

    资讯是用户因为及时地获得它并利用它而能够在相对短的时间内给自己带来价值的信息,资讯有时效性和地域性。

    56 引用 • 85 回帖 • 1 关注
  • 外包

    有空闲时间是接外包好呢还是学习好呢?

    26 引用 • 233 回帖 • 1 关注
  • sts
    2 引用 • 2 回帖 • 222 关注
  • LaTeX

    LaTeX(音译“拉泰赫”)是一种基于 ΤΕΧ 的排版系统,由美国计算机学家莱斯利·兰伯特(Leslie Lamport)在 20 世纪 80 年代初期开发,利用这种格式,即使使用者没有排版和程序设计的知识也可以充分发挥由 TeX 所提供的强大功能,能在几天,甚至几小时内生成很多具有书籍质量的印刷品。对于生成复杂表格和数学公式,这一点表现得尤为突出。因此它非常适用于生成高印刷质量的科技和数学类文档。

    12 引用 • 54 回帖 • 18 关注
  • 服务器

    服务器,也称伺服器,是提供计算服务的设备。由于服务器需要响应服务请求,并进行处理,因此一般来说服务器应具备承担服务并且保障服务的能力。

    125 引用 • 585 回帖 • 1 关注
  • OpenCV
    15 引用 • 36 回帖 • 1 关注
  • webpack

    webpack 是一个用于前端开发的模块加载器和打包工具,它能把各种资源,例如 JS、CSS(less/sass)、图片等都作为模块来使用和处理。

    41 引用 • 130 回帖 • 253 关注
  • PostgreSQL

    PostgreSQL 是一款功能强大的企业级数据库系统,在 BSD 开源许可证下发布。

    22 引用 • 22 回帖 • 1 关注
  • Webswing

    Webswing 是一个能将任何 Swing 应用通过纯 HTML5 运行在浏览器中的 Web 服务器,详细介绍请看 将 Java Swing 应用变成 Web 应用

    1 引用 • 15 回帖 • 636 关注
  • DevOps

    DevOps(Development 和 Operations 的组合词)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。

    57 引用 • 25 回帖 • 5 关注
  • Electron

    Electron 基于 Chromium 和 Node.js,让你可以使用 HTML、CSS 和 JavaScript 构建应用。它是一个由 GitHub 及众多贡献者组成的活跃社区共同维护的开源项目,兼容 Mac、Windows 和 Linux,它构建的应用可在这三个操作系统上面运行。

    15 引用 • 136 回帖 • 7 关注
  • Kubernetes

    Kubernetes 是 Google 开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。

    116 引用 • 54 回帖
  • 爬虫

    网络爬虫(Spider、Crawler),是一种按照一定的规则,自动地抓取万维网信息的程序。

    106 引用 • 275 回帖 • 1 关注
  • 开源

    Open Source, Open Mind, Open Sight, Open Future!

    409 引用 • 3586 回帖
  • GraphQL

    GraphQL 是一个用于 API 的查询语言,是一个使用基于类型系统来执行查询的服务端运行时(类型系统由你的数据定义)。GraphQL 并没有和任何特定数据库或者存储引擎绑定,而是依靠你现有的代码和数据支撑。

    4 引用 • 3 回帖
  • 安装

    你若安好,便是晴天。

    132 引用 • 1184 回帖
  • Spark

    Spark 是 UC Berkeley AMP lab 所开源的类 Hadoop MapReduce 的通用并行框架。Spark 拥有 Hadoop MapReduce 所具有的优点;但不同于 MapReduce 的是 Job 中间输出结果可以保存在内存中,从而不再需要读写 HDFS,因此 Spark 能更好地适用于数据挖掘与机器学习等需要迭代的 MapReduce 的算法。

    74 引用 • 46 回帖 • 568 关注
  • Scala

    Scala 是一门多范式的编程语言,集成面向对象编程和函数式编程的各种特性。

    13 引用 • 11 回帖 • 158 关注
  • RYMCU

    RYMCU 致力于打造一个即严谨又活泼、专业又不失有趣,为数百万人服务的开源嵌入式知识学习交流平台。

    4 引用 • 6 回帖 • 54 关注
  • Sym

    Sym 是一款用 Java 实现的现代化社区(论坛/BBS/社交网络/博客)系统平台。

    下一代的社区系统,为未来而构建

    524 引用 • 4601 回帖 • 699 关注