一、Mrdoc

零、安装 Docker

宝塔面板安装 Docker 环境

其他系统安装 Docker 环境

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

一、拉取 MrDoc 代码

打开终端,进入opt目录:

可以使用自定义的目录拉取代码,但是在创建容器的时候务必将/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:v7

复制

方式二:导入离线镜像

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

离线 Docker 镜像下载链接: https://pan.baidu.com/s/1OExl7iEz62YSF4u6aQ0UGA?pwd=fr87 提取码: fr87

docker load -i docker-mrdoc-env.v7.tar

复制

三、运行 Docker 容器

开源版:

docker run -d --name mrdoc -p 10086:10086 -v /opt/MrDoc:/app/MrDoc zmister/mrdoc:v7

复制

专业版:

docker run -d --name mrdoc -p 10086:10086 -v /opt/MrDocPro:/app/MrDoc zmister/mrdoc:v7

复制

宝塔 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

复制

五、版本更新

1、在宿主机/容器外的MrDoc项目目录内拉取代码:

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。如果你需要绑定域名,也可以在 Nginx 中进行。

详见文档:使用 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/

十、常见问题

Q:容器启动提示错误docker_mrdoc.sh: No such file or directory
A:因为
docker_mrdoc.sh文件的换行符是 LF,而不是 CRLF,如果你用 CRLF 的 代码编辑器操作过这个文件,可能就会出错。可以使用 dos2unix工具将LF换成CRLF。