官方 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,请使用VSCode
、Notepad++
等软件,打开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/mrdoc
为registry.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 管理器图形界面操作:
四、管理
创建管理员账户
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、务必查看版本更新记录,确认是否需要升级镜像版本。
# 开源版
cd /opt/MrDoc
# 专业版
cd /opt/MrDocPro
1、拉取代码:
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 代码目录内的media
、config
目录。
2、如果使用的 Docker 镜像不是最新版本,按步骤二获取最新的 Docker 离线镜像。
3、下载最新版本的 MrDoc 代码。
4、将备份的media
、config
文件夹覆盖到最新的 MrDoc 代码目录内。
5、删除容器。
6、按步骤三运行 Docker 容器。
九、使用 MySQL 数据库
详见: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
对文件的换行符进行转换。
此外,在命令行终端输入如下命令:
git config --global core.autocrlf input
避免后续更新拉取代码后,docker_mrdoc.sh
文件的换行符又变为CRLF
。