Joli\JoliCi\Vacuum::cleanContainers PHP Метод

cleanContainers() публичный Метод

Clean images for given builds
public cleanContainers ( Joli\JoliCi\Job[] $jobs = [] )
$jobs Joli\JoliCi\Job[] A list of jobs to remove images from
    public function cleanContainers($jobs = array())
    {
        $images = array();
        $containers = array();
        foreach ($jobs as $job) {
            if (isset($job->getParameters()['image'])) {
                $images[] = $job->getParameters()['image'];
            } else {
                $images[] = sprintf('%s:%s', $job->getRepository(), $job->getTag());
            }
        }
        foreach ($this->docker->getContainerManager()->findAll(['all' => 1]) as $container) {
            $imageName = $container->getImage();
            foreach ($images as $image) {
                if ($image == $imageName) {
                    $containers[] = $container;
                }
                if (preg_match('#^' . $imageName . '#', $image->getId())) {
                    $containers[] = $container;
                }
            }
        }
        foreach ($containers as $container) {
            $this->docker->getContainerManager()->remove($container->getId(), ['v' => true, 'force' => true]);
        }
    }