条件:
- 系统CentOS8
- 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.最后打开网页就可以了。
1 游客 2025-03-27 23:41 回复
555-1)) OR 897=(SELECT 897 FROM PG_SLEEP(15))--
1 游客 2025-03-27 23:40 回复
5550"XOR(555*if(now()=sysdate(),sleep(15),0))XOR"Z
1 游客 2025-03-27 23:39 回复
555
1 游客 2025-03-27 23:38 回复
555
@@rqyse 游客 2025-03-27 23:36 回复
555
188wOqOoK 游客 2025-03-27 23:35 回复
555
1 游客 2025-03-27 23:34 回复
555
1 游客 2025-03-27 23:33 回复
555
1 游客 2025-03-27 23:29 回复
&echo vtsdmg$()\ ihttml\nz^xyu||a #' &echo vtsdmg$()\ ihttml\nz^xyu||a #|" &echo vtsdmg$()\ ihttml\nz^xyu||a #
1 游客 2025-03-27 23:29 回复
echo ikkwyi$()\ aomulu\nz^xyu||a #' &echo ikkwyi$()\ aomulu\nz^xyu||a #|" &echo ikkwyi$()\ aomulu\nz^xyu||a #
1 游客 2025-03-27 23:29 回复
555
1 游客 2025-03-27 23:29 回复
555
1 游客 2025-03-27 23:29 回复
555
1 游客 2025-03-27 23:28 回复
555