Docker 安装 solo 教程

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

引言

之前用 war 包部署过一次 solo(超赞的开源博客系统),然后看 solo 的用户指南上说,推荐 docker 部署,就想把博客整的更完美一点,就学了一点 docker。仅仅够我装个 solo。

安装 docker

docker 官方文档
这个是 docker 官方的安装文档,这个连接是 centos 版本的,可以在侧边栏选择其他的版本。然后跟着文档一步一步来就行了,这里以 centos 为例。
image.png

  1. 先卸载旧版本
$ sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine
  1. 添加 repo
$ sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

中间的 optional(可选的)直接跳过。
3. 安装 docker-ce

$ sudo yum install docker-ce docker-ce-cli containerd.io

这个步骤,我在安装的时候总是超时,安装不上,最后在网上找到的解决方法。根据下面这个链接把镜像站换成国内就行啦。https://mirror.tuna.tsinghua.edu.cn/help/docker-ce/
4. 启动 docker

$ sudo systemctl start docker
  1. 验证 docker 是否安装成功
$ sudo docker -v

安装 solo

  1. solo 的 docker 容器里面是没有 mysql 和 nginx 的,所以需要自己手动安装,docker 容器里面只有 java 和 maven 环境。
  2. 拉取 solo 镜像
$ docker pull b3log/solo
  1. mysql 建立 solo 数据库
  2. 运行 solo 容器
$ sudo docker run --detach --name solo --network=host \
    --env RUNTIME_DB="MYSQL" \
    --env JDBC_USERNAME="数据库账号" \
    --env JDBC_PASSWORD="数据库密码" \
    --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" \
    b3log/solo --listen_port=项目端口号 --server_scheme=http --server_host=localhost

这里是参考的 solo 官方安装指南,链接在下面
https://github.com/b3log/solo
注:安装指南在官方网页的在最下面

docker 启动,使用其他皮肤或者图片

如果要使用其他皮肤或者图片,可以挂载目录 skins 和 images,在上面的运行命令的基础上,再加两行命令参数。

$ sudo docker run --detach --name solo --network=host \
    --env RUNTIME_DB="MYSQL" \
    --env JDBC_USERNAME="数据库账号" \
    --env JDBC_PASSWORD="数据库密码" \
    --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" \
 --volume /usr/local/solo/skins:/opt/solo/skins   \
 --volume /usr/local/solo/images:/opt/solo/images \
    b3log/solo --listen_port=项目端口号 --server_scheme=http --server_host=你的域名或者服务器ip地址

上面的/usr/local/solo/skins 和/usr/local/solo/images 是需要你手动建好的,然后就可以把 solo 默认的皮肤和图片复制到/usr/local/solo/skins 和/usr/local/solo/images 对应的文件夹下了,如果你有最新的皮肤,就可以直接把文件夹放在/usr/local/solo/skins 下,就 ok 了。图片的 404 和图标的也是可以修改的。一定要将 solo 默认的皮肤拷过来,要不然启动会报找不着皮肤的异常。

  • Solo

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

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

    1434 引用 • 10054 回帖 • 490 关注
  • Docker

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的操作系统上。容器完全使用沙箱机制,几乎没有性能开销,可以很容易地在机器和数据中心中运行。

    491 引用 • 917 回帖

相关帖子

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...
  • 超链接的地址不太正确,修复一下吧 :)

  • someone
    作者

    链接已修复,第一次用 markdown 写博客,不太熟练( '▿ ' )

    1 回复
  • LiuKang

    markdown 在哪里写的呢?