From 6a16e71310ca2e1681c18b727092a31655d74978 Mon Sep 17 00:00:00 2001 From: davidhorvat Date: Thu, 5 Dec 2024 20:50:47 +0100 Subject: [PATCH] chore: add container count to image details --- app/Actions/Docker/GetServerDockerImageDetails.php | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/app/Actions/Docker/GetServerDockerImageDetails.php b/app/Actions/Docker/GetServerDockerImageDetails.php index dffb63dd5..bacfb621c 100644 --- a/app/Actions/Docker/GetServerDockerImageDetails.php +++ b/app/Actions/Docker/GetServerDockerImageDetails.php @@ -10,8 +10,18 @@ class GetServerDockerImageDetails public static function run($server, $imageId) { - $result = instant_remote_process(["docker inspect --format 'json' --type=image {$imageId}"], $server); + $imageDetailsRaw = instant_remote_process(["docker inspect --type=image {$imageId}"], $server); + $imageDetails = json_decode($imageDetailsRaw, true); - return json_decode($result, true); + if (json_last_error() !== JSON_ERROR_NONE) { + return ['error' => 'Invalid JSON returned from Docker inspect', 'raw_output' => $imageDetailsRaw]; + } + + $containerCountRaw = instant_remote_process(["docker ps -q --filter ancestor={$imageId} | wc -l"], $server); + $containerCount = intval(trim($containerCountRaw)); // Convert to an integer + + $imageDetails[0]['ContainerCount'] = $containerCount; + + return $imageDetails; } }