• 【Docker】通过Docker部署BookStack


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

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

    镜像拉取:

    docker pull linuxserver/bookstack
    1
    镜像启动:

    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
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    数据库只能使用5.6.x版本的,不能用5.x以上的MySQL数据库(经过尝试除了5.x的版本外其他版本MySQL数据库连接不上,估计是连接驱动的问题)。
    通过DB_HOST、DB_USER、DB_PASS、DB_DATABASE就可以将数据库配置写上了。最后,启动前先将目标数据库bookstackapp建好就可以启动了。


    成功启动后会看到[services.d]done的字样,第一次启动的时候会创建表并初始化用户信息。

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

    初始化登录使用以下用户名和密码:
    用户名:admin@example.com
    密码: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
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    由于树莓派中已经不再支持高版本的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
    1
    2
    3
    4
    5
    6
    MySQL5配置信息获取:

    sudo docker cp mysql5:/var/lib/mysql /home/pi/Documents/mysql5/data
    1
    sudo docker cp mysql5:/etc/mysql /home/pi/Documents/mysql5/config
    1
    启动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
    ————————————————
    版权声明:本文为CSDN博主「kida_yuan」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/kida_yuan/article/details/113865348

  • 相关阅读:

    队列
    Collection类
    Hashtable类、IdentityHashMap和WeakHashMap类
    LinkedHashMap类
    广播的种类:有序广播和无序广播
    自定义的BroadCastReceiver
    String的两个API,判断指定字符串是否包含另一字符串,在字符串中删除指定字符串。
    BroadcastReceiver的最简单用法
    Notification通知栏
  • 原文地址:https://www.cnblogs.com/chinasoft/p/15407552.html
Copyright © 2020-2023  润新知