Builder
abstract class Builder extends Alvine
Builder
Mit von Builder abgeleiteten Klassen lassen sich Docker-Images erstellen. Die abgeleiteten Klassen müssen die Methoden Builder::getDockerFile() und Builder::getImageTag() und Builder::getPorts() überschreiben.
Im Anschluß kann über Builder::buildImage() das Image auf dem Dockerhost gebaut werden.
``` $builder = new MyBuilder($dokerclient); $builder->buildImage()->pushImage();
Properties
protected Client | $client | ||
protected InstructionSet | $instructionSet | ||
protected string | $imageID |
Methods
Neuen Builder erstellen
Distribution setzen
Dockerfile
Image-Tag
Portdefinition
Image bauen
Image ins Repositorium schreiben
ID des Images
Details
at line 70
__construct(Client $dockerhost, InstructionSet $instructionSet = null)
Neuen Builder erstellen
at line 92
Instance
setDistribution(InstructionSet $instractionSet, RepoTag $repoTag = null)
Distribution setzen
Wurde bereits Instance::buildImage() ausgeführt, so setzt diese Methode die interne ImageID zurück, so das erneut Instance::buildImage() ausgeführt werden muss,
at line 107
abstract Dockerfile
getDockerFile()
Dockerfile
Gibt das Dockerfile für das Image zurück. Diese Methode muss vom Konkreten Image-Builder überschrieben werden und das vollständige Dockerfile-Objekt zurückgeben.
at line 122
abstract protected RepoTag
getImageTag()
Image-Tag
Der Imagetag spezifiziert den Namen, das Repositorium und die Version des Images. Dadurch lassen sich unterschieldiche Images bauen und verwalten.
return new \Alvine\Infrastructure\Docker\RepoTag('myImage', '1.0.13', 'registry.example.com:5000');
at line 133
abstract protected PortMapping>
getPorts()
Portdefinition
Die Portdefinition legt fest, wie die Ports veröffentlicht werden sollen. Neben der einfachen Bereitstellung, können hier Einträge in Vulcand (Proxy) oder Etcd (Configuration) veranlasst werden.
at line 144
Instance
buildImage($cache = true)
Image bauen
Diese Methode baut das eigentliche Image und führt den Erstellprozess durch.
at line 161
Instance
pushImage()
Image ins Repositorium schreiben
at line 184
string
getImageID()
ID des Images
Wurde das Image über Instace::buildImage gebaut, so gibt die Methode die Image-ID des build-Prozesses zurück.
Wurde noch kein build durchgeführt, fragt die Methode am Dockerhost nach.