【Docker】通过Docker部署BookStack

为了给公司搭建个知识库重新做了选型,看过了好几个工具包括MkDocs、MM-markdown等,最后选用开源的BookStack作为知识库,原因有三:

  1. BookStack是开源的,并且项目在GitHub中的活跃度很高;
  2. BookStack是PHP开发的,数据库使用的是MySQL5,最最最难得的是他有Docker版本。这样就不需要部署一套LAMP了,直接通过Docker+MySQL就可以运行;
  3. 配置方便,提供了后台配置页面,所有的站点内细节都可以通过配置后台解决;

Docker部署

Docker Hub地址:https://hub.docker.com/r/linuxserver/bookstack

镜像拉取:

docker pull linuxserver/bookstack

镜像启动:

docker run --name=bookstack \
-e PUID=1000 \
-e PGID=1000 \
-e DB_HOST=172.17.0.5 \
-e DB_USER=yzh \
-e DB_PASS=0623 \
-e DB_DATABASE=bookstackapp \
-p 6875:80 \
-v /Users/yuanzhenhui/Documents/docker_data/bookstack:/config \
--restart unless-stopped \
linuxserver/bookstack

数据库只能使用5.6.x版本的,不能用5.x以上的MySQL数据库(经过尝试除了5.x的版本外其他版本MySQL数据库连接不上,估计是连接驱动的问题)。
通过DB_HOSTDB_USERDB_PASSDB_DATABASE就可以将数据库配置写上了。最后,启动前先将目标数据库bookstackapp建好就可以启动了。
【Docker】通过Docker部署BookStack_第1张图片
【Docker】通过Docker部署BookStack_第2张图片
成功启动后会看到[services.d]done的字样,第一次启动的时候会创建表并初始化用户信息。


页面访问

系统启动后可以通过URL登录:http://localhost:6875/login

初始化登录使用以下用户名和密码:
用户名:[email protected]
密码:password

就可以登录后台了,如果出现一直loading的情况可以刷新一下页面就可以了。

至此,登录后台之后可以配置用户数据和权限信息了。


树莓派搭建脚本

由于BookStack提供了Docker镜像也就是说它可以在树莓派中进行部署,还好Docker也有提供适用于ARM核心的镜像。在下载了镜像后就可以做以下操作了。

BookStack容器创建:

sudo docker run --name=bookstack \
-d \
-e PUID=1000 \
-e PGID=1000 \
-e DB_HOST=172.17.0.2 \
-e DB_USER=yzh \
-e DB_PASS=0623 \
-e DB_DATABASE=bookstackapp \
-p 6875:80 \
-v /mnt/depot/docker/bookstack:/config \
--restart=always \
linuxserver/bookstack

由于树莓派中已经不再支持高版本的MySQL数据库了(可能是因为MySQL被Oracle收购的原因,树莓派没有5.x后的MySQL库了,取而代之的是MariaDB这个同宗同源的数据库,事实证明MariaDB现在是越做越好了~我个人是这么认为的),所以这里用的是ARM版本的Docker镜像,MySQL5容器创建:

sudo docker run -p 3506:3306 \
-e MYSQL_ROOT_PASSWORD=root \
--name mysql5 \
-d \
--restart=always \
biarms/mysql:5.5.62-linux-arm32v7-beta-travis

MySQL5配置信息获取:

sudo docker cp mysql5:/var/lib/mysql /home/pi/Documents/mysql5/data
sudo docker cp mysql5:/etc/mysql /home/pi/Documents/mysql5/config

启动MySQL5容器:

sudo docker run -p 3506:3306 \
-v /mnt/depot/docker/mysql5/data:/var/lib/mysql \
-v /mnt/depot/docker/mysql5/config:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
--name mysql5 \
-d \
--restart=always \
biarms/mysql:5.5.62-linux-arm32v7-beta-travis

你可能感兴趣的:(Docker,docker)