通过docker部署bookstack

BookStack,是一个基于MinDoc,使用Beego开发的开源在线文档管理系统,功能类似Gitbook和看云

环境准备:

centos7:物理机、虚拟机或者云服务器都可以

部署过程:

1、首先在机器上安装docker环境,此处省略。

2、下载bookstack镜像,访问地址: https://hub.docker.com/r/willdockerhub/bookstack 或者直接通过docker pull willdockerhub/bookstack拉取镜像即可

3、拉取mysql镜像:访问地址 https://hub.docker.com/_/mysql 或者直接通过命令docker pull mysql进行拉取,注意此时拉取的镜像为MySQL8.0.20版本

4、拉取bookstack配置文件:

mkdir -p /data/bookstack/conf
yum intall -y git
git clone https://github.com/TruthHun/BookStack.git --depth=1
cp BookStack/conf/*.example /data/bookstack/conf/
cd /data/bookstack/conf/
rename .example '' *.example

5、修改app.conf文件,主要修改MySQL数据库信息,如图:

从上图中可以看到,配置链接mysql的时候,使用的是容器内部的ip地址,如果先启动mysql 那么mysql的容器ip地址就是172.17.0.2

6、修改oauth.conf,主要修改域名地址,如图:

7、运行容器:首先运行MySQL容器,执行命令如下:

mkdir -p /data/mysql
docker run -itd --name mysql \
  --restart always \
  -p 3306:3306 \
  -e MYSQL_ROOT_PASSWORD=bookstack \
  -e MYSQL_DATABASE=bookstack \
  -e MYSQL_USER=bookstack \
  -e MYSQL_PASSWORD=bookstack \
  -v /data/mysql:/var/lib/mysql \
  mysql --default-authentication-plugin=mysql_native_password

mysql的用户名以及密码都是可以根据自己实际情况修改,但是一定要跟app.conf里相对应,同时也将mysql数据目录通过卷的形式挂载出来

8、运行bookstack容器,执行命令如下:

docker run -itd --name bookstack \
  --restart always \
  -p 80:8181 \
  -v /data/bookstack/conf:/opt/bookstack/conf \
  willdockerhub/bookstack

上述命令将容器内部的配置文件通过卷的形式挂载出来,此时修改/data/bookstack/conf下的配置文件即可。

9、启动容器后,通过域名进行访问,账号密码admin/admin888

备注:如果要修改页面的显示内容,直接进入到容器中修改源代码即可主要路径为:/opt/bookstack/views/widgets

标签