|
Docker 部署 mrdoc
本篇文档将会介绍使用 Docker 容器部署 MrDoc。
MrDoc 的 Docker 镜像由 MrDoc交流QQ群管理员:亖 构建制作,以下内容来自于其博客。
如有疑问,请加入 MrDoc交流群:
QQ:735507293
Telegram:https://t.me/mrdocfun
自0.5.9版本开始启用,与之前版本区别如下:
1.更改 mrdoc-alpine 的自定义端口方式与 nginx 版本一致.
2.简化数据迁移命令,由手动执行更改为容器内自动执行.
Docker 版本说明
mrdoc-alpine: 采用 runserver 方式运行 (支持 amd64/arm64 平台)
dockerhub官网链接: https://hub.docker.com/r/jonnyan404/mrdoc-alpine

mrdoc-nginx: 采用 uwsgi/nginx 方式运行(支持 amd64/arm64 平台)
dockerhub官网链接: https://hub.docker.com/r/jonnyan404/mrdoc-nginx
一、简单教程
mrdoc-alpine
docker run -d --name mrdoc -p 10086:10086 jonnyan404/mrdoc-alpine
### nginx版本,更换mrdoc-alpine为mrdoc-nginx即可
默认端口:10086
默认用户:admin
默认密码:请执行 docker logs mrdoc 2>&1|grep pwd 获取[自0.6.3版本开始生效]
如果获取的默认密码无法登录,请参考 https://www.mrdoc.fun/project-1/doc-242/ 这里解决!!!
打开 http://IP:10086 即可访问。
二、进阶教程
①挂载本地目录
1.创建文件夹:
mkdir -p ~/mrdoc/media
2.运行容器
mrdoc-alpinedocker run -d --name mrdoc -p 10086:10086 -v ~/mrdoc:/app/MrDoc/config -v ~/mrdoc/media:/app/MrDoc/media jonnyan404/mrdoc-alpine
### nginx版本,更换mrdoc-alpine为mrdoc-nginx即可
###这里的-v指定路径一定要指定正确,否则docker启动容器后,使用curl访问会报 “Connection reset by peer”的错误
###映射路径后的配置文件修改前一定要备份,否则修改错误后,docker启动容器,使用curl访问还是会报 “Connection reset by peer”的错误
②自定义映射端口
mrdoc-alpinedocker run -d --name mrdoc -e LISTEN_PORT=port -p xxx:port -v ~/mrdoc:/app/MrDoc/config -v ~/mrdoc/media:/app/MrDoc/media jonnyan404/mrdoc-alpine
### nginx版本,更换mrdoc-alpine为mrdoc-nginx即可
其中:
xxx 为宿主机端口
port 为容器端口
自行替换 xxx 与 port 即可。
请执行docker logs mrdoc 2>&1|grep pwd查找默认用户和密码.
如果获取的默认密码无法登录,请参考 https://www.mrdoc.fun/project-1/doc-242/ 这里解决!!!
三、docker 版本手动升级
数据备份
如果未挂载本地目录,请按照步骤执行。
如果已挂载,仅需执行第 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
四、docker 版本自动升级
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 的容器
更多参数解释,请参考watchtower官网
五、docker 可视化面板
方便执行 启动/停止/重启 功能.
docker run -d -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer-ce
打开 http://IP:9000 访问
|