官方 Docker 镜像,已自带系统依赖库和软件依赖库、自带数据库初始化和更新命令、自带全文索引构建命令、自带 PDF 导出依赖软件,无需再额外执行命令和安装依赖。

零、安装 Docker

宝塔面板安装 Docker 环境

其他系统安装 Docker 环境

https://www.runoob.com/docker/docker-tutorial.html

一、获取 MrDoc 代码

注意1:请确保已经安装了 Git 工具,如果没有安装,请自行参考 https://www.runoob.com/git/git-install-setup.html 进行安装。

注意2:内网环境请前往仓库 Web 页面下载代码,然后将代码复制到内网机器相应目录。


打开终端,进入opt目录:

i 可以在自定义的目录下拉取代码,但是在创建容器的时候务必将/opt/MrDoc/opt/MrDocPro替换为你自定义的目录。

cd /opt

开源版:

git clone https://gitee.com/zmister/MrDoc.git

专业版:

git clone https://{用户名}:{密码}@git.mrdoc.pro/MrDoc/MrDocPro.git

不要在用户名密码外面加花括号!
不要在用户名密码外面加花括号!
不要在用户名密码外面加花括号!

例如:

git clone https://mrdoc:123456@git.mrdoc.pro/MrDoc/MrDocPro.git

修改docker_mrdoc.sh文件换行符

如果你的宿主机操作系统是 Windows,请使用VSCodeNotepad++等软件,打开docker_mrdoc.sh,将文件换行符从Windows(CRLF)修改为Unix(LF)

二、获取 Docker 镜像

方式一:在线拉取镜像

docker pull zmister/mrdoc:v9.3

阿里云镜像(国内拉取速度更快)

docker pull registry.cn-hangzhou.aliyuncs.com/zmister/mrdoc:v9.3

方式二:导入离线镜像

适合内网环境、网络较差的环境以及无法拉取镜像的情况

离线 Docker 镜像下载

百度网盘: https://pan.baidu.com/s/1OExl7iEz62YSF4u6aQ0UGA?pwd=fr87 提取码: fr87

夸克网盘:https://pan.quark.cn/s/ee6ecd87ffc8

docker load -i docker-mrdoc-env.v9.3.amd64.tar

三、运行 Docker 容器

如果使用阿里云镜像,修改zmister/mrdocregistry.cn-hangzhou.aliyuncs.com/zmister/mrdoc

开源版:

docker run -d --name mrdoc --restart always -p 10086:10086 -v /opt/MrDoc:/app/MrDoc zmister/mrdoc:v9.3

阿里云镜像:

docker run -d --name mrdoc --restart always -p 10086:10086 -v /opt/MrDoc:/app/MrDoc registry.cn-hangzhou.aliyuncs.com/zmister/mrdoc:v9.3

专业版:

docker run -d --name mrdoc --restart always -p 10086:10086 -v /opt/MrDocPro:/app/MrDoc zmister/mrdoc:v9.3

阿里云镜像:

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 管理器图形界面操作:

invalid image (图片无法加载)

四、管理

创建管理员账户

docker exec -it mrdoc python manage.py createsuperuser

修改用户密码

docker exec -it mrdoc python manage.py changepassword 用户名

停止容器

docker stop mrdoc

启动容器

docker start mrdoc

删除容器

docker rm -f mrdoc

查看日志

docker logs mrdoc

五、版本更新

0、进入觅思文档的项目目录内:

1、如果没有按照文档使用/opt作为项目根目录,自行更改相应路径。

2、务必查看版本更新记录,确认是否需要升级镜像版本。

bash
# 开源版
cd /opt/MrDoc

# 专业版
cd /opt/MrDocPro

1、拉取代码:

bash
git fetch --all && git reset --hard origin/master && git pull

2、重启 Docker 容器

docker restart mrdoc

六、使用Nginx反向代理/绑定域名

Docker 容器运行成功之后,你就可以通过http://IP:端口号来访问和使用觅思文档了。

但是我们推荐的部署流程并没完成,我们推荐你使用 Nginx 对127.0.0.1:10086进行反向代理。

如果你需要为http://IP:端口号进行绑定映射域名、托管静态文件等操作,都可以在 Nginx 中进行。

详见文档:

七、升级镜像

1、停止容器

docker stop mrdoc

2、删除容器

docker rm -f mrdoc

3、执行步骤二、步骤三

八、内网环境的升级

0、停止容器。

1、备份 MrDoc 代码目录内的mediaconfig目录。

2、如果使用的 Docker 镜像不是最新版本,按步骤二获取最新的 Docker 离线镜像。

3、下载最新版本的 MrDoc 代码。

4、将备份的mediaconfig文件夹覆盖到最新的 MrDoc 代码目录内。

5、删除容器。

6、按步骤三运行 Docker 容器。

九、使用 MySQL 数据库

详见:https://doc.mrdoc.pro/doc/44846/

十、常见问题

1、docker_mrdoc.sh 问题

Q:容器启动后日志显示:docker_mrdoc.sh: No such file or directorydocker_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 平台下可以使用vscodenotepad++,Linux 平台下可以使用dos2unix对文件的换行符进行转换。

此外,在命令行终端输入如下命令:

git config --global core.autocrlf input

避免后续更新拉取代码后,docker_mrdoc.sh文件的换行符又变为CRLF


州的先生 2025年5月22日 14:58 收藏文档