Container¶
Ein Container ist ein lauffähiges, virtuelles Betriebssystem.
Neuen Container erstellen¶
Ein neuer Container benötigt eine Konfiguration, die in der Minimalversion das Image und den Befehl benötigt, der ausgeführt werden soll.
$docker=new \Alvine\Infrastructure\Docker\Client(
// URI auf die TCP Schnittstelle
// localhost Host auf dem Docker läuft
// 2375 ist der standard-PORT von Docker
// $uri = new \Alvine\Net\Resource\URI('http://localhost:2375'));
//
// Alternativ kann auch der Unix-Socket verwendet werden.
// $uri = new \Alvine\Net\Resource\URI('unix:///var/run/docker.sock'));
new \Alvine\Net\Resource\URI($uri));
$cfg=(new \Alvine\Infrastructure\Docker\Container\Config('ubuntu'))
->setCmd(['/bin/sleep', '1000']); // Ubuntu laden
// Container erstellen und starten
$container=$docker->createContainer(null, $cfg);
echo $container->getContainerID();
// Ergebnis
// -> 9175058864b1261227a262dbc2ec470996f53863a044374000e667437e119f3d4b545d0
$docker->startContainer($container->getContainerID());
// Kürzer: create und start sind in run zusammengefasst
$container = $docker->runContainer(null, $cfg);
echo $container->getContainerID();
// Ergebnis
// -> 9175058864b1261227a262dbc2ec470996f53863a044374000e667437e119f3d4b545d0
Containerdaten auslesen¶
Die Containerdaten können mit der Methode AlvineInfrastructureDockerClient::inspectContainer ausgelesen werden.
$docker=new \Alvine\Infrastructure\Docker\Client(
// URI auf die TCP Schnittstelle
// localhost Host auf dem Docker läuft
// 2375 ist der standard-PORT von Docker
// $uri = new \Alvine\Net\Resource\URI('http://localhost:2375'));
//
// Alternativ kann auch der Unix-Socket verwendet werden.
// $uri = new \Alvine\Net\Resource\URI('unix:///var/run/docker.sock'));
new \Alvine\Net\Resource\URI($uri));
$container=$docker->inspectContainer($containerID); // $containerID muss defniert sein
echo $container->getContainerID();
// Ergebnis
// -> a79ba5bf04f31b3757ec9ff73de8a278a3ccfbc44f6a5e53d296b335cd368a38
Laufende Prozesse im Container¶
In einem Container laufende Prozesse
2e07a256-18e7-46a5-c6a5-e46cdcc03228