Dockerfile
class Dockerfile extends Alvine
Dockerfile
Sammelklasse für alle Einstelungen eines zu bauenden Images. Diese Klasse legt im temporäreren Verzeichnis ein tar-Archiv an. In das Archive werden alle mittels addFile übergebene Dateien integriert.
$df = new \Alvine\Infrastructure\Docker\Build\Dockerfile('ubuntu');
$df->setMaintainer('[email protected]');
// Dockerfile ausgeben
echo (string) $df;
// Archive mit Dateien holen
$df->getArchive();
Constants
UBUNTU |
Ubuntu |
DEBIAN |
DEBIAN (minimales System) |
COPY |
COPY |
ADD |
ADD |
RUN |
RUN |
EXPOSE |
EXPOSE (Port) |
USER |
USER |
CMD |
CMD |
ENVIRONMENT |
Environment |
ENTRYPOINT |
ENTRYPOINT Startpunkt des Containers z.B. ENTRYPOINT echo “Hello World” |
MAINTAINER |
MAINTAINER |
VOLUME |
VOLUME |
ONBUILD |
ONBUILD |
WORKDIR |
WORKDIR |
LEVEL_DEFAULT |
Standard-Stufe für die Ausführung |
LEVEL_ADDFILE |
Stufe bei denen Dateien eingefügt werden |
LEVEL_CONTENT |
Stufe bei denen externe Daten eingefügt werden |
LEVEL_INSTALL |
Nach dem Hinzufügen von Paketen und Content Scripte ausführen |
LEVEL_CLEANUP |
Stufe bei denen der Inhalt aufgeräumt wird |
LEVEL_PACKAGES |
Level bei denen Linux Pakete installiert werden |
LEVEL_PACKAGES_OFFSET |
Offset je Paket |
Properties
protected array | $archive | ||
protected string | $from | ||
protected string | $maintainer | ||
protected array | $instruction | ||
protected string | $entrypoint | ||
protected string | $command | ||
protected SimpleMap | $environmant | ||
protected string | $user | ||
protected array | $volume | ||
protected InstructionSet | $instructionSet |
Methods
Setzt eine Umgebungsvariable
Setzt dden Befehl
Fügt einen neuen Pfad hinzu
Hinzufügen einer Anweisung
Übergibt ein Programm das beim Bauen ausgeführt werden soll.
Arbeitsverzeichnis im Image setzen
Trigger für build setzen
Setzt den Einstiegspunkt
User
Port freigeben
Fügt Datei hinzu
Fügt Datei hinzu
Bindet den Inhalt einer entfernetn Datei ein. Der Inhalt der Datei kann ein Archive (tar) sein.
Verzeichnis übertragen
Verantwortlicher
Archive
Dockerfile
Neue Dockerfileinstanz
Add- und Copy-Anweisung bearbeiten
Paket hinzufügen
Pakete hinzufügen
Details
at line 221
__construct(RepoTag $repoTag = null, InstructionSet $instructionSet = null)
Neues Dockerfile
at line 247
Dockerfile
setEnvironment(string $key, string $value)
Setzt eine Umgebungsvariable
at line 275
Dockerfile
setCommand(string|array $cmd)
Setzt dden Befehl
Der Befehl muss im Format ["echo", "Whale you be my container"] übergeben werden. Wird ein Array übergeben, so wandelt die Methode das Argument entsprechend um.
$array = ['echo','Hello']; // like an exec, preferred form
Dockerfile::setCommand($array);
$array = ['param1','param2']; // as default parameters to ENTRYPOINT
Dockerfile::setCommand($array);
$command = 'ls -lah'; // (as a shell command)
Dockerfile::setCommand($command);
at line 298
Dockerfile
addVolume(string $volume)
Fügt einen neuen Pfad hinzu
at line 316
protected Dockerfile
addInstruction(string $cmd, integer $level)
Hinzufügen einer Anweisung
Über den Level lassen sich Befehle in verschiedene Bereiche gruppieren. Die Levels werden vom kleinsten zum größeren Wert ausgeführt.
at line 332
Dockerfile
addRun(string $cmd, integer $level = self::LEVEL_DEFAULT)
Übergibt ein Programm das beim Bauen ausgeführt werden soll.
at line 345
Dockerfile
addWorkdir(string $path, integer $level = self::LEVEL_DEFAULT)
Arbeitsverzeichnis im Image setzen
at line 357
Dockerfile
addOnbuild(string $command, integer $level = self::LEVEL_DEFAULT)
Trigger für build setzen
at line 379
Dockerfile
setEntrypoint(string|array $entrypoint, string $user = null)
Setzt den Einstiegspunkt
Der Einstiegspunkt muss im Format ["echo", "Whale you be my container"] übergeben werden. Wird ein Array übergeben, so wandelt die Methode das Argument entsprechend um.
$array = ['echo','Hello'];
Dockerfile::setEntrypoint($array);
at line 403
Dockerfile
setUser(string $user)
User
at line 416
Dockerfile
addExpose(integer $port, integer $level = self::LEVEL_DEFAULT)
Port freigeben
at line 429
Dockerfile
addFile(File $file, string $target, integer $level = self::LEVEL_ADDFILE)
Fügt Datei hinzu
at line 443
Dockerfile
addFileFromString(string $content, string $target, integer $level = self::LEVEL_CONTENT)
Fügt Datei hinzu
at line 460
Dockerfile
addURL(URI $url, string $target, integer $level = self::LEVEL_CONTENT)
Bindet den Inhalt einer entfernetn Datei ein. Der Inhalt der Datei kann ein Archive (tar) sein.
at line 473
Dockerfile
addDirectory(Directory $directory, string $target, integer $level = self::LEVEL_CONTENT)
Verzeichnis übertragen
at line 502
setMaintainer(string $maintainer)
Verantwortlicher
Hans Mustermann, [email protected]
at line 515
string
getArchive()
Archive
Diese Methode gibt das Dockerfile und alle Dateien als tar-Archive zurück
at line 547
string
__toString()
Dockerfile
Diese Methode gibt das über die Klasse definiert Dockerfile als Text zurück. in dieser Form kann es gespeichert und dem docker-Client mittels build übergeben werden.
at line 613
static Dockerfile
getInstanceFromDockerfile(File $dockerfilePath)
Neue Dockerfileinstanz
Hinweis: Die Methode unterstützt keine mehrfach Dockerfiles. In jeder Datei darf nur ein FROM enthalten sein.
at line 703
static protected Dockerfile
handleEnv(Dockerfile $dockerfile, string $argument, string $expArg)
ENV-Anweisung bearbeiten
at line 750
static protected Dockerfile
handleAddAndCopy(Dockerfile $dockerfile, File $dockerfilePath, $argument, $expArg)
Add- und Copy-Anweisung bearbeiten
at line 790
Dockerfile
addPackage(Package $package)
Paket hinzufügen
at line 811
Dockerfile
addPackages(Collection $packages)
Pakete hinzufügen
Mehrere Pakete können in einer Collection übergeben werden. Dadurch reduziert sich die Anzahl der RUN Instruktionen innerhalb des Docker-Files. Anders als bei Dockerfile::addPackage()