/** * @return Container|null */ public function getContainer() { if (null === $this->container && strlen($this->getContainerId()) > 0) { $container = new Container(); $container->setId($this->getContainerId()); $this->container = $container; } return $this->container; }
/** * Remove multiple containers from docker server * * @param \Docker\Container[]|array $containers * @param boolean $volumes * * @throws \Docker\Exception\UnexpectedStatusCodeException * * @return \Docker\Manager\ContainerManager */ public function removeContainers(array $containers, $volumes = false) { foreach ($containers as $container) { if (!$container instanceof Container) { $containerId = $container; $container = new Container(); $container->setId($containerId); } $this->remove($container, $volumes); } return $this; }
/** * Create a container (do not start it) * * @param \Docker\Container $container * * @throws \Docker\Exception\UnexpectedStatusCodeException * * @return \Docker\Manager\ContainerManager */ public function create(Container $container) { $response = $this->client->post(['/containers/create{?data*}', ['data' => ['name' => $container->getName()]]], array('body' => Json::encode($container->getConfig()), 'headers' => array('content-type' => 'application/json'))); if ($response->getStatusCode() !== "201") { throw UnexpectedStatusCodeException::fromResponse($response); } $container->setId($response->json()['Id']); return $this; }