From bdb4a8cfed6a82450f3a5e2c0d997594daa86a94 Mon Sep 17 00:00:00 2001 From: Simon L Date: Sun, 5 Nov 2023 20:06:09 +0100 Subject: [PATCH] do not start container if it is started already Signed-off-by: Simon L --- php/src/Controller/DockerController.php | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/php/src/Controller/DockerController.php b/php/src/Controller/DockerController.php index 8f29949b..f7e1454e 100644 --- a/php/src/Controller/DockerController.php +++ b/php/src/Controller/DockerController.php @@ -33,12 +33,21 @@ class DockerController $this->PerformRecursiveContainerStart($dependency, $pullContainer); } + // Don't start if container is already running + // This is expected to happen if a container is defined in depends_on of multiple containers + if ($container->GetRunningState() instanceof RunningState) { + error_log('Not starting ' . $id . ' because it was already started.'); + return; + } + + // Skip database image pull if the last shutdown was not clean if ($id === 'nextcloud-aio-database') { if ($this->dockerActionManager->GetDatabasecontainerExitCode() > 0) { $pullContainer = false; error_log('Not pulling the latest database image because the container was not correctly shut down.'); } } + $this->dockerActionManager->DeleteContainer($container); $this->dockerActionManager->CreateVolumes($container); if ($pullContainer) {