[图片] 引言 之前用 war 包部署过一次 Solo(超赞的开源博客系统),然后看 Solo 的用户指南上说,推荐 Docker 部署,就想把博客整的更完美一点,就学了一点 Docker。仅仅够我装个 Solo。 安装 Docker docker官方文档 这个是 Docker 官方的安装文档,这个连接是 CentOS ..

Docker 安装 solo 教程

引言

之前用 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=localhost

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

  • Solo

    Solo 是一款小而美的开源博客系统,专为程序员设计。

    Solo 有着非常活跃的社区,可将文章作为帖子推送到社区,来自社区的回帖将作为博客评论进行联动。

    这是一种全新的网络社区体验,让热爱记录和分享的你不再感到孤单!
    具体细节请浏览 B3log 构思

    787 引用 • 5867 回帖 • 686 关注
  • Docker

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app)。几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言、框架或包括系统。

    225 引用 • 412 回帖 • 631 关注
2 回帖   
请输入回帖内容...
  • 88250

    超链接的地址不太正确,修复一下吧 :)

  • wky181  

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