通过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


