From ccaf2bedb71d36f35d7074a6225d89ac42eed923 Mon Sep 17 00:00:00 2001 From: Oscar Zhou <100548325+oscarzhou-portainer@users.noreply.github.com> Date: Fri, 2 Sep 2022 08:11:02 +1200 Subject: [PATCH] fix(stack/compose): remove the orphan containers if stack deployment is failed (#7599) --- api/stacks/deployer.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/api/stacks/deployer.go b/api/stacks/deployer.go index 80bd86384..ccd13fd0b 100644 --- a/api/stacks/deployer.go +++ b/api/stacks/deployer.go @@ -52,7 +52,11 @@ func (d *stackDeployer) DeployComposeStack(stack *portainer.Stack, endpoint *por d.swarmStackManager.Login(registries, endpoint) defer d.swarmStackManager.Logout(endpoint) - return d.composeStackManager.Up(context.TODO(), stack, endpoint, forceRereate) + err := d.composeStackManager.Up(context.TODO(), stack, endpoint, forceRereate) + if err != nil { + d.composeStackManager.Down(context.TODO(), stack, endpoint) + } + return err } func (d *stackDeployer) DeployKubernetesStack(stack *portainer.Stack, endpoint *portainer.Endpoint, user *portainer.User) error {