一、docker 版本手动升级
# ---
2022-08-31 日更新,无重大升级,将不在更新docker镜像。升级参见步骤0
- 容器内直接升级
docker exec -it mrdoc git pull
docker restart 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
二、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官网