搭建solo博客
使用docker搭建
1.搭建
1 2 3 4 5 6 7
| 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=801 --server_scheme=http --server_host=129.211.50.99 --server_port=80
|
2.更新
由于docker的更新的比较频繁,而且每次有更新都会导致无法登录管理平台,所以有时候碰到无法登录管理平台那么就得去更新一下docker 镜像,然后运行新的镜像。
删除容器
删除镜像
1 2 3 4
| # 查询本地所有镜像 ,然后找到 solo 的 imageId docker images # 删除 docker rmi imageId
|
拉取镜像启动。 与 1.搭建 步骤一致
3.自动更新脚本
脚本内容如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
| #!/bin/bash
#
#
# 2. 可将该脚本加入 crontab,每日凌晨运行来实现自动更新 #
restart_solo(){ docker stop solo docker rm solo 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=80 --server_scheme=http --server_host=129.211.50.99 --server_port=80 }
update_solo(){ echo "Pulling Solo's image" isUpdate=$(docker pull b3log/solo | grep "Downloaded") if [[ -z $isUpdate ]] then echo "Solo is up to date" else restart_solo >> /dev/null 2>&1 echo "Restarted Solo" fi }
# 检查当前容器状态,如果状态正常进行升级操作,否则重新进行部署 update_and_test_service(){ isCrash=$(docker ps | grep "b3log/solo") if [[ -z $isCrash ]] then echo "Solo's status is unexpected, trying to restart it" docker pull b3log/solo restart_solo sleep 5 isSecondCrash=$(docker ps | grep "b3log/solo") if [[ -z $isSecondCrash ]] then echo "Failed to restart Solo, please check logs via 'docker logs solo'" fi else update_solo fi }
update_and_test_service
|
4.使用bolo博客
文档地址: 欢迎使用 Bolo–ShowDoc (stackoverflow.wiki)
1 2 3
| docker run -it -d --name bolo -p 8089:8089 bolo /run.sh
|