getId(); $startTime = microtime(true) * 1000; while (true) { $elapsedTime = (microtime(true) * 1000) - $startTime; if ($elapsedTime > $this->timeout) { throw new ContainerNotReadyException($id); } /** @var ContainersIdJsonGetResponse200 | null $containerInspect */ $containerInspect = $container->getClient()->containerInspect($id); $containerStatus = $containerInspect?->getState()?->getStatus(); if ($containerStatus === 'running') { return; } usleep($this->pollInterval * 1000); } } }