LOVEJOAN

文章 分类 评论
76 9 1453

站点介绍

人生是一场孤独的旅行,没有终点。。。

Docker搭建Mrdoc文档

chuck 2023-03-15 393 14条评论 LinuxDocker服务器应用 Docker

首页 / 正文

条件:

  1. 系统CentOS8
  2. docker环境安装配置完成

开始安装

创建文件夹用来存放配置文件等

mkdir /www/mrdoc # 创建mrdoc目录
mkdir /www/mrdoc/media # 创建media目录

新建config.ini配置文件,模板如下:

# 如果自己没有更换其它数据库的需求,请原样复制粘贴,不要乱改配置.
# mysql版本注意:建议在5.6-8.0以内,8.0版本开始以下语句不支持,请自行解决.
# mysql需要手动创建一个数据库:create database mrdoc character set utf8mb4 collate utf8_bin;
#grant all privileges on mrdoc.* to 'jonnyan404'@'%' identified by 'www.mrdoc.fun' with grant option;
#flush privileges;
[site]
# True表示开启站点调试模式,False表示关闭站点调试模式
debug = False
[database]
# engine,指定数据库类型,接受sqlite、mysql、oracle、postgresql
engine = sqlite
# name表示数据库的名称
# name = mrdoc
# user表示数据库用户名
# user = jonnyan404
# password表示数据库用户密码
# password = www.mrdoc.fun
# host表示数据库主机地址,(如果是使用容器的话,地址需要填写宿主机docker网络地址)
# host = db_host
# port表示数据库端口
# port=3306
[selenium]
# 在Windows环境下测试或使用,请配置driver = Chrome
# driver = Chrome
# 如果系统无法正确安装或识别chromedriver,请指定chromedriver在计算机上的绝对路径
driver_path = /usr/lib/chromium/chromedriver

采用默认的sqli数据库就不需要修改,需要使用其他如mysql数据库需要安装python-mysql环境。

运行容器

docker run -d --name mrdoc -p 10086:10086 --restart=always -v /www/mrdoc:/app/MrDoc/config -v /www/mrdoc/media:/app/MrDoc/media jonnyan404/mrdoc-nginx

我这次使用的是nginx版本也可以使用另外一个版本。
默认使用端口:10086,需要防火墙和安全组放通
默认账号:admin
默认密码:需要使用docker logs mrdoc 2>&1|grep pwd 查询,第一次登录进去修改即可。

# 如果上述密码无法登陆,通过创建新用户或者修改密码进行操作。
#方式一:创建新管理员
docker exec -it mrdoc  python manage.py createsuperuser
#根据提示输入 账号/邮箱/密码 即可
---
#方式二:修改管理员密码
docker exec -it mrdoc python manage.py changepassword admin
#按提示输入新密码即可,英文大小写混合+数字大于8位

打开Mrdoc

http://ip:10086,进行配置。

版本升级

容器自动升级

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 的容器

手动升级

# 数据备份
如果未挂载本地目录,请按照步骤执行。
如果已挂载,仅需执行第 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

mrdoc迁移记录

1.备份数据库和文件

2.使用ftp工具将整个mrdoc文件夹拷贝

3.进入mrdoc容器进行数据导出
在容器项目主目录下
python manage.py dumpdata auth.user > db_user.json &&
python manage.py dumpdata app_admin > db_admin.json &&
python manage.py dumpdata app_doc > db_doc.json


4.重新安装mysql

5.重新安装docker

6.部署开源mrdoc

7.将原有数据复制进去。

8.创建容器命令:
docker run -d --name mrdoc -p 80:10086 --restart=always -v /www/mrdoc:/app/MrDoc/config -v /www/mrdoc/media:/app/MrDoc/media jonnyan404/mrdoc-nginx
9.容器数据导入,在/app/MrDoc下执行。
python manage.py loaddata db_user.json && python manage.py loaddata db_admin.json && python manage.py loaddata db_doc.json

10.创建mrdoc数据库账号密码,给%允许所有地址登录

11.进入容器执行数据导入(db_user.json...几个文件)

12.最后打开网页就可以了。

评论(14)

  1. 1 游客 2025-03-27 23:41 回复

    555-1)) OR 897=(SELECT 897 FROM PG_SLEEP(15))--

  2. 1 游客 2025-03-27 23:40 回复

    5550"XOR(555*if(now()=sysdate(),sleep(15),0))XOR"Z

  3. 1 游客 2025-03-27 23:39 回复

    555

  4. 1 游客 2025-03-27 23:38 回复

    555

  5. @@rqyse 游客 2025-03-27 23:36 回复

    555

  6. 188wOqOoK 游客 2025-03-27 23:35 回复

    555

  7. 1 游客 2025-03-27 23:34 回复

    555

  8. 1 游客 2025-03-27 23:33 回复

    555

  9. 1 游客 2025-03-27 23:29 回复

    &echo vtsdmg$()\ ihttml\nz^xyu||a #' &echo vtsdmg$()\ ihttml\nz^xyu||a #|" &echo vtsdmg$()\ ihttml\nz^xyu||a #

  10. 1 游客 2025-03-27 23:29 回复

    echo ikkwyi$()\ aomulu\nz^xyu||a #' &echo ikkwyi$()\ aomulu\nz^xyu||a #|" &echo ikkwyi$()\ aomulu\nz^xyu||a #

  11. 1 游客 2025-03-27 23:29 回复

    555

  12. 1 游客 2025-03-27 23:29 回复

    555

  13. 1 游客 2025-03-27 23:29 回复

    555

  14. 1 游客 2025-03-27 23:28 回复

    555

热门文章

最新评论

  • 1

    555fulIdEqZ' OR 160=(SELECT 160 FROM PG_SLEEP(15))--

  • 1

    555-1)) OR 58=(SELECT 58 FROM PG_SLEEP(15))--

  • 1

    555-1) OR 13=(SELECT 13 FROM PG_SLEEP(15))--

  • 1

    555-1 OR 475=(SELECT 475 FROM PG_SLEEP(15))--

  • 1

    555

  • 1

    555

  • 1

    5554FobGRsu') OR 696=(SELECT 696 FROM PG_SLEEP(15))--

  • 1

    555C9F0upP1' OR 504=(SELECT 504 FROM PG_SLEEP(15))--

  • 1

    555

  • 1-1; waitfor delay '0:0:15' --

    555

日历

2025年05月

    123
45678910
11121314151617
18192021222324
25262728293031

文章目录