手动备份、恢复Docker部署的Redmine项目管理系统

本例中使用的是sameersbn docker-redmine。使用其它镜像安装的Redmine,备份、恢复方法可能会不同。

部署过程如下

使用Docker部署Redmine项目管理系统

一、手动创建备份文件

先停止并删除正在运行的Redmine容器。因为挂有卷,所以数据不会丢。

docker stop redmine && docker rm redmine

创建备份

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
docker run --name=redmine -it --rm -d \
  --link=postgresql-redmine:postgresql --publish=80:80 --publish=443:443\
  --env SMTP_METHOD=smtp \
  --env SMTP_STARTTLS=true \
  --env SMTP_HOST=smtp.qiye.aliyun.com \
  --env SMTP_PORT=465 \
  --env SMTP_DOMAIN=aliyun.com \
  --env SMTP_AUTHENTICATION=:login \
  --env SMTP_USER=redmine@aliyun.com \
  --env SMTP_PASS=aliyun.com \
  --volume=/srv/docker/redmine/redmine:/home/redmine/data \
  --volume=/srv/docker/redmine/redmine-logs:/var/log/redmine/ \
  sameersbn/redmine:latest app:backup:create

注意,上边的代码中,需要把邮箱部分换成自己的信息。

简单解释一下

1
2
--rm 运行后删除容器
app:backup:create 创建备份

生成的备份文件,默认在/home/redmine/data/backups目录下,在宿主机上对应挂卷的位置也能找到。在恢复的时候,系统会默认在这个文件夹下找备份文件。

二、手动恢复备份文件

如果有Redmine容器在运行,要先停止并删除正在运行的Redmine。

docker stop redmine && docker rm redmine

恢复备份

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
docker run --name=redmine -it --rm -d \

  --link=postgresql-redmine:postgresql --publish=80:80 --publish=443:443\

  --env SMTP_METHOD=smtp \

  --env SMTP_STARTTLS=true \

  --env SMTP_HOST=smtp.qiye.aliyun.com \

  --env SMTP_PORT=465 \

  --env SMTP_DOMAIN=aliyun.com \

  --env SMTP_AUTHENTICATION=:login \

  --env SMTP_USER=redmine@aliyun.com \

  --env SMTP_PASS=aliyun.com \
 --volume=/srv/docker/redmine/redmine:/home/redmine/data \

  --volume=/srv/docker/redmine/redmine-logs:/var/log/redmine/ \
  sameersbn/redmine:latest app:backup:restore

选择备份文件后,自动还原,还原后容器自动删除。

重新生成容器,Redmine就成功把数据还原了。

生成容器方法在这里

使用Docker部署Redmine项目管理系统

可以登录系统,查看一下之前的数据是否还在。

最后更新于 2026-08-26 17:08 CST
长按识别二维码关注随遇而学
关注公众号「随遇而学」
长按识别上方二维码,或在微信搜索「随遇而学」关注公众号。回复 模板 领取 AI 减负模板包(会议纪要 / 周报 / SOP / Excel / 汇报 PPT),并获取后续更新。
希望所有努力的人都能找到并提升自己的核心价值
使用 Hugo 构建
主题 StackJimmy 设计