MrDoc 文件系统部署
Docker 镜像部署MrDoc
使用 Nginx + uWSGI 部署 MrDoc
🔧 解决 cryptography 模块缺失问题
MrDoc防爬虫、复制处理探究--部分实现
本文档使用 MrDoc 发布
-
+
首页
Docker 镜像部署MrDoc
# Docker 镜像部署 --- > 官方 Docker 镜像,已自带系统依赖库和软件依赖库、自带数据库初始化和更新命令、自带全文索引构建命令、自带 PDF 导出依赖软件,无需再额外执行命令和安装依赖。 ## 零、安装 Docker <details><summary>宝塔面板安装 Docker 环境</summary>  </details> ### 其他系统安装 Docker 环境 [https://www.runoob.com/docker/docker-tutorial.html](https://www.runoob.com/docker/docker-tutorial.html) ## 一、获取 MrDoc 代码 > **注意 1**:请确保已经安装了 Git 工具,如果没有安装,请自行参考 [https://www.runoob.com/git/git-install-setup.html](https://www.runoob.com/git/git-install-setup.html) 进行安装。 > **注意 2**:内网环境请前往仓库 Web 页面下载代码,然后将代码复制到内网机器相应目录。 --- 打开终端,进入 `opt` 目录: > i 可以在自定义的目录下拉取代码,但是在创建容器的时候务必将 `/opt/MrDoc` 或 `/opt/MrDocPro` 替换为你自定义的目录。 复制 ```bash cd /opt ``` ### 开源版: 复制 ```crmsh git clone https://gitee.com/zmister/MrDoc.git ``` ### 专业版: 复制 ```crmsh git clone https://{用户名}:{密码}@git.mrdoc.pro/MrDoc/MrDocPro.git ``` > 不要在用户名密码外面加花括号! > 不要在用户名密码外面加花括号! > 不要在用户名密码外面加花括号! 例如: 复制 ```crmsh git clone https://mrdoc:123456@git.mrdoc.pro/MrDoc/MrDocPro.git ``` ### 修改 `docker_mrdoc.sh` 文件换行符 如果你的宿主机操作系统是 Windows,请使用 `VSCode`、`Notepad++` 等软件,打开 `docker_mrdoc.sh`,将文件换行符从 `Windows(CRLF)` 修改为 `Unix(LF)`。 ## 二、获取 Docker 镜像 ### 方式一:在线拉取镜像 复制 ```apache docker pull zmister/mrdoc:v9.3 ``` 阿里云镜像(国内拉取速度更快) 复制 ```stylus docker pull registry.cn-hangzhou.aliyuncs.com/zmister/mrdoc:v9.3 ``` ### 方式二:导入离线镜像 > 适合内网环境、网络较差的环境以及无法拉取镜像的情况 **离线 Docker 镜像下载** 百度网盘: [https://pan.baidu.com/s/1OExl7iEz62YSF4u6aQ0UGA?pwd=fr87](https://pan.baidu.com/s/1OExl7iEz62YSF4u6aQ0UGA?pwd=fr87) 提取码: fr87 夸克网盘:[https://pan.quark.cn/s/ee6ecd87ffc8](https://pan.quark.cn/s/ee6ecd87ffc8) 复制 ```stylus docker load -i docker-mrdoc-env.v9.3.amd64.tar ``` ## 三、运行 Docker 容器 > 如果使用阿里云镜像,修改 `zmister/mrdoc` 为 `registry.cn-hangzhou.aliyuncs.com/zmister/mrdoc` ### 开源版: 复制 ```dockerfile docker run -d --name mrdoc --restart always -p 10086:10086 -v /opt/MrDoc:/app/MrDoc zmister/mrdoc:v9.3 ``` 阿里云镜像: 复制 ```stylus docker run -d --name mrdoc --restart always -p 10086:10086 -v /opt/MrDoc:/app/MrDoc registry.cn-hangzhou.aliyuncs.com/zmister/mrdoc:v9.3 ``` ### 专业版: 复制 ```dockerfile docker run -d --name mrdoc --restart always -p 10086:10086 -v /opt/MrDocPro:/app/MrDoc zmister/mrdoc:v9.3 ``` 阿里云镜像: 复制 ```stylus docker run -d --name mrdoc --restart always -p 10086:10086 -v /opt/MrDocPro:/app/MrDoc registry.cn-hangzhou.aliyuncs.com/zmister/mrdoc:v9.3 ``` ### 宝塔 Docker 管理器图形界面操作:  ## 四、管理 ### 创建管理员账户 复制 ```mel docker exec -it mrdoc python manage.py createsuperuser ``` ### 修改用户密码 复制 ```mel docker exec -it mrdoc python manage.py changepassword 用户名 ``` ### 停止容器 复制 ```arduino docker stop mrdoc ``` ### 启动容器 复制 ```crmsh docker start mrdoc ``` ### 删除容器 复制 ```powershell docker rm -f mrdoc ``` ### 查看日志 复制 ```ebnf docker logs mrdoc ``` ## 五、版本更新 0、进入觅思文档的项目目录内: > 1、如果没有按照文档使用 `/opt` 作为项目根目录,自行更改相应路径。 > > 2、务必查看版本更新记录,确认是否需要升级镜像版本。 bash 复制 ```bash # 开源版 cd /opt/MrDoc # 专业版 cd /opt/MrDocPro ``` 1、拉取代码: bash 复制 ```bash git fetch --all && git reset --hard origin/master && git pull ``` 2、重启 Docker 容器 复制 ```ebnf docker restart mrdoc ``` ## 六、使用 Nginx 反向代理/绑定域名 Docker 容器运行成功之后,你就可以通过 `http://IP:端口号` 来访问和使用觅思文档了。 但是我们推荐的部署流程并没完成,我们推荐你使用 Nginx 对 `127.0.0.1:10086` 进行反向代理。 如果你需要为 `http://IP:端口号` 进行绑定映射域名、托管静态文件等操作,都可以在 Nginx 中进行。 详见文档: * [使用 Nginx 配置反向代理/绑定域名](https://doc.mrdoc.pro/doc/44910/) * [使用 Nginx 托管静态文件资源](https://doc.mrdoc.pro/doc/44876/) * [使用 Nginx 开启 SSL / 设置 HTTPS](https://doc.mrdoc.pro/doc/44904/) ## 七、升级镜像 1、停止容器 复制 ```arduino docker stop mrdoc ``` 2、删除容器 复制 ```powershell docker rm -f mrdoc ``` 3、执行步骤二、步骤三 ## 八、内网环境的升级 0、停止容器。 1、备份 MrDoc 代码目录内的 `media`、`config` 目录。 2、如果使用的 Docker 镜像不是最新版本,按步骤二获取最新的 Docker 离线镜像。 3、下载最新版本的 MrDoc 代码。 4、将备份的 `media`、`config` 文件夹覆盖到最新的 MrDoc 代码目录内。 5、删除容器。 6、按步骤三运行 Docker 容器。 ## 九、使用 MySQL 数据库 详见:[https://doc.mrdoc.pro/doc/44846/](https://doc.mrdoc.pro/doc/44846/) ## 十、常见问题 ### 1、docker\_mrdoc.sh 问题 Q:容器启动后日志显示:`docker_mrdoc.sh: No such file or directory`、`docker_mrdoc.sh: line 17: syntax error: unexpected end of file (expecting "then")`、`not found docker_mrdoc.sh` 等涉及 docker\_mrdoc.sh 文件的错误。 A:因为 `docker_mrdoc.sh` 文件的换行符应当是 LF,而非 CRLF,如果你在 Windows 平台上拉取的代码或者使用 CRLF 的代码编辑器操作过这个文件,可能就会出错。 Windows 平台下可以使用 `vscode`、`notepad++`,Linux 平台下可以使用 `dos2unix` 对文件的换行符进行转换。 此外,在命令行终端输入如下命令: 复制 ```stylus git config --global core.autocrlf input ``` 避免后续更新拉取代码后,`docker_mrdoc.sh` 文件的换行符又变为 `CRLF`。
沧岚
2025年10月29日 16:24
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
PDF文档(打印)
分享
链接
类型
密码
更新密码