如何回滚/降级Docker部署的listmonk至旧版本?
Listmonk Docker部署回滚问题解答
问题1:修改docker-compose.yml后是否需要执行sudo docker-compose run --rm app ./listmonk --install?
- 不需要执行该安装命令。
--install仅用于首次部署时初始化数据库(创建表结构、默认配置等),回滚版本只是切换镜像标签,只要你的数据库已经完成过初始化,就无需重复执行。 - 该方式并非仅适用于升级过的版本,任何已完成初始化的listmonk部署,回滚时都只需修改镜像标签即可。
问题2:仅停止app服务使用sudo docker-compose down app而非sudo docker-compose down是否正确?
- 完全正确。
docker-compose down app只会停止并移除app服务对应的容器,不会影响其他关联服务(比如配套的PostgreSQL数据库容器),能完整保留数据库数据,这正是回滚时需要的操作。 - 而
sudo docker-compose down会停止并移除所有服务的容器,虽然数据卷一般不会被删除,但没必要动数据库容器,单独指定app服务更稳妥。
问题3:Rancher相关的--rollback等命令是否适用于listmonk?
- 不适用。Rancher是独立的容器编排管理平台,它的命令仅针对Rancher管控的部署资源,而你是用原生
docker-compose部署的listmonk,两者命令体系完全无关。 - 不要尝试这些陌生命令,继续用
docker-compose的标准流程操作即可,避免误操作破坏现有部署。
快速回滚步骤(实操参考)
- 编辑
docker-compose.yml,找到app服务的image字段,将版本标签修改为目标旧版本(例如listmonk/listmonk:v2.4.0) - 执行命令停止当前app容器:
sudo docker-compose down app - 启动旧版本的app服务:
sudo docker-compose up -d app - 查看日志确认服务正常启动:
sudo docker-compose logs -f app
内容的提问来源于stack exchange,提问作者MaximilianKohler
相关产品推荐
相关产品推荐

