|
566 | 566 | $apiRequest = apiRequest('docker/container/pull', [], ['name' => $image]); |
567 | 567 | logger(UI_LOG, 'docker/container/pull:' . json_encode($apiRequest, JSON_UNESCAPED_SLASHES)); |
568 | 568 |
|
569 | | - $apiRequest = apiRequest('docker/container/inspect', ['name' => $image, 'useCache' => false, 'format' => true]); |
570 | | - $apiRequest = json_decode($apiRequest['result'], true); |
| 569 | + $apiRequest = apiRequest('docker/container/inspect', ['name' => $image, 'useCache' => false, 'format' => true]); |
| 570 | + $apiRequest = json_decode($apiRequest['result'], true); |
571 | 571 | list($cr, $imageDigest) = explode('@', $apiRequest[0]['RepoDigests'][0]); |
572 | 572 | logger(UI_LOG, 'dockerInspect:' . json_encode($apiRequest, JSON_UNESCAPED_SLASHES)); |
573 | 573 |
|
|
588 | 588 | break; |
589 | 589 | case '6': //-- GENERATE COMPOSE |
590 | 590 | $containerList = ''; |
591 | | - $containers = explode(',', $_POST['hash']); |
| 591 | + $containers = explode(',', $_POST['hash']); |
592 | 592 |
|
593 | 593 | foreach ($containers as $selectedContainer) { |
594 | 594 | $thisContainer = $docker->findContainer(['hash' => $selectedContainer, 'data' => $stateFile]); |
|
615 | 615 | $inspectImage = $apiResponse['result']; |
616 | 616 |
|
617 | 617 | if ($inspectImage) { |
618 | | - $inspect = json_decode($inspectImage, true); |
619 | | - |
620 | | - foreach ($inspect[0]['Config']['Labels'] as $label => $val) { |
621 | | - if (str_contains($label, 'image.version')) { |
622 | | - $preVersion = $val; |
623 | | - break; |
624 | | - } |
625 | | - } |
| 618 | + $inspect = json_decode($inspectImage, true); |
| 619 | + $preVersion = $docker->getContainerVersion($inspect); |
626 | 620 | } |
627 | 621 |
|
628 | 622 | $apiRequest = apiRequest('docker/container/pull', [], ['name' => $image]); |
|
649 | 643 | list($cr, $imageDigest) = explode('@', $inspectImage[0]['RepoDigests'][0]); |
650 | 644 |
|
651 | 645 | if ($inspectImage) { |
652 | | - foreach ($inspectImage[0]['Config']['Labels'] as $label => $val) { |
653 | | - if (str_contains($label, 'image.version')) { |
654 | | - $postVersion = $val; |
655 | | - break; |
656 | | - } |
657 | | - } |
| 646 | + $postVersion = $docker->getContainerVersion($inspectImage); |
658 | 647 | } |
659 | 648 |
|
660 | 649 | $updateResult = 'complete'; |
|
684 | 673 | $result = 'Container ' . $container['Names'] . ' update: ' . $updateResult . ($preVersion && $postVersion && $updateResult == 'complete' ? ' from \'' . $preVersion . '\' to \'' . $postVersion . '\'' : '') . '<br>'; |
685 | 674 | break; |
686 | 675 | case '8': //-- MOUNT COMPARE |
687 | | - $result = $container['Names'] . '<br>'; |
| 676 | + $result = $container['Names'] . '<br>'; |
688 | 677 | $result .= '<div class="ms-4">' . implode('<br>', $container['inspect'][0]['HostConfig']['Binds']) . '</div><br>'; |
689 | 678 | break; |
690 | 679 | case '9': //-- REMOVE |
|
704 | 693 | logger(UI_LOG, 'dockerAPI/container/create:' . json_encode($apiRequest, JSON_UNESCAPED_SLASHES)); |
705 | 694 | $apiRequest = json_decode($apiRequest['result'], true); |
706 | 695 |
|
707 | | - $result = $container['Names'] . '<br>'; |
| 696 | + $result = $container['Names'] . '<br>'; |
708 | 697 | $result .= 'Endpoint: <code>' . $apiRequest['endpoint'] . '</code><br>'; |
709 | 698 | $result .= '<pre>' . json_encode($apiRequest['payload'], JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES) . '</pre>'; |
710 | 699 | break; |
|
713 | 702 | logger(UI_LOG, 'docker/container/inspect: ' . json_encode($apiResponse, JSON_UNESCAPED_SLASHES)); |
714 | 703 | $inspectImage = json_decode($apiResponse['result'], true); |
715 | 704 |
|
716 | | - foreach ($inspectImage[0]['Config']['Labels'] as $label => $val) { |
717 | | - if (str_contains($label, 'image.version')) { |
718 | | - $version = $val; |
719 | | - break; |
720 | | - } |
721 | | - } |
| 705 | + $version = $docker->getContainerVersion($inspectImage); |
722 | 706 |
|
723 | 707 | logger(UI_LOG, 'Getting registry digest: ' . $image); |
724 | 708 | $regctlDigest = trim(regctlCheck($image)); |
|
0 commit comments