Docker容器技术
Docker基础概念
Docker安装配置
通过docker registry搭建私有仓库
Dockerfile编写学习
数据卷管理
Docker 镜像
Docker容器管理
daemon.json配置示例
Dcocker网络互联
Docker部署nextcloud网盘
Watchtower-容器的自动升级
想要轻松上手Docker?Portainer帮你实现零基础快速部署!
Nextcloud搭建
Docker搭建Mrdoc
Mrdoc迁移记录
Docker部署wordpress博客
Docker部署个人密码管理平台bitwarden
Docker-compose安装配置
Docker-compose搭建小说阅读器
Docker搭建青龙面板
Docker搭建自己的导航页dashy
uptime-kuma监控面板部署
容器搭建Nas-tool及相关套件
本文档使用 MrDoc 发布
-
+
首页
Docker搭建Mrdoc
MrDoc知识文档平台是一款基于Python开发的在线文档系统,适合作为个人和中小型团队的私有云文档、云笔记和知识管理工具,致力于成为优秀的私有化在线文档部署方案。我现在主要把markdown笔记放在上面,因为平时老是需要查询一些知识点,总是百度,然后查出来的结果一堆,有很多的坑,然后就想着还是把自己经历过的都记录一下,需要了还是看自己的记录好了。 官网地址:[MrDoc文档](https://mrdoc.pro/)  分为开源版和专业版,作为个人肯定是开源版的足够了。不过好像docker版本到后面好像停止了还是换了个版本? 系统环境: 1. 系统CentOS8 2. docker环境安装配置完成 ## 开始安装 创建文件夹用来存放配置文件等 ```linux mkdir /www/mrdoc # 创建mrdoc目录 mkdir /www/mrdoc/media # 创建media目录以存放资源文件 ``` 在`/www/mrdoc`下面新建`config.ini`配置文件,根据需要进行修改,如果只是尝鲜可以不修改使用默认配置,模板如下: ```linux # 如果自己没有更换其它数据库的需求,请原样复制粘贴,不要乱改配置. # mysql版本注意:建议在5.6-8.0以内,8.0版本开始以下语句不支持,请自行解决. # mysql需要手动创建一个数据库:create database mrdoc character set utf8mb4 collate utf8_bin; #grant all privileges on mrdoc.* to 'jonnyan404'@'%' identified by 'www.mrdoc.fun' with grant option; #flush privileges; [site] # True表示开启站点调试模式,False表示关闭站点调试模式 debug = False [database] # engine,指定数据库类型,接受sqlite、mysql、oracle、postgresql engine = sqlite # name表示数据库的名称 # name = mrdoc # user表示数据库用户名 # user = jonnyan404 # password表示数据库用户密码 # password = www.mrdoc.fun # host表示数据库主机地址,(如果是使用容器的话,地址需要填写宿主机docker网络地址) # host = db_host # port表示数据库端口 # port=3306 [selenium] # 在Windows环境下测试或使用,请配置driver = Chrome # driver = Chrome # 如果系统无法正确安装或识别chromedriver,请指定chromedriver在计算机上的绝对路径 driver_path = /usr/lib/chromium/chromedriver ``` 采用默认的sqli数据库就不需要修改,需要使用其他如mysql数据库需要安装python-mysql环境。 ## 运行容器 ```linux # 拉取镜像 docker pull jonnyan404/mrdoc-nginx # 运行容器 docker run -d --name mrdoc -p 10086:10086 --restart=always -v /www/mrdoc:/app/MrDoc/config -v /www/mrdoc/media:/app/MrDoc/media jonnyan404/mrdoc-nginx ``` 默认使用端口:10086,需要防火墙和安全组放通参考之前防火墙配置文章。 默认账号:admin。 默认密码:需要使用docker logs mrdoc 2>&1|grep pwd 查询,第一次登录进去修改即可。 ```linux # 如果上述密码无法登陆,通过创建新用户或者修改密码进行操作。 #方式一:创建新管理员 docker exec -it mrdoc python manage.py createsuperuser #根据提示输入 账号/邮箱/密码 即可 #方式二:修改管理员密码 docker exec -it mrdoc python manage.py changepassword admin #按提示输入新密码即可,英文大小写混合+数字大于8位 ``` ## 打开Mrdoc 浏览器打开`http://ip:10086`进行配置,如果需要更换端口可以直接修改映射端口或者通过nginx代理实现ssl证书访问,提高安全性。  简单使用:包括后台设置、用户设置、文集和文档设置     文档支持多用户注册登录,适合小型团队协作,在线编辑,粘贴图片上传,我觉得暂时是满足我的要求了,其他台复杂的也不需要。 ## 版本升级 ### 容器自动升级 升级与更新都强烈建议备份文档和数据库,防止出现不可逆故障。 ```shell docker run -d \ --name watchtower \ --restart unless-stopped \ -v /var/run/docker.sock:/var/run/docker.sock \ containrrr/watchtower \ --cleanup \ -s "0 3 * * *" \ mrdoc # 仅限已挂载数据目录的使用,否则会造成数据丢失. # --cleanup 升级会自动清理老版本 # -s 定时检查更新,上述默认每天凌晨3点检查更新 # mrdoc 代表仅自动更新名称为 mrdoc 的容器 ``` ### 手动升级 大概思路是备份映射到宿主机文件目录,然后重新拉取镜像,使用相同的docker run参数创建容器。 ```shell # 数据备份 如果未挂载本地目录,请按照步骤执行。 如果已挂载,仅需执行第 2 步即可。 docker cp mrdoc:/app/MrDoc/config /tmp/config docker cp mrdoc:/app/MrDoc/media /tmp/media # 升级版本 在此以alpine版本进行示例,如果使用Nginx版本,请将mrdoc-alpine替换为mrdoc-nginx docker pull jonnyan404/mrdoc-alpine docker stop mrdoc && docker rm mrdoc 然后重新运行之前的 docker run 命令 # 恢复数据 docker cp /tmp/config mrdoc:/app/MrDoc docker cp /tmp/media mrdoc:/app/MrDoc # 重启容器 docker restart mrdoc ``` 欢迎来我的[MrDoc知识文档](https://mrdoc.lovejoan.com/)
Chuck
2023年12月14日 10:21
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码