Um die Traefik Labels einzubauen hat man ja die Wahl diese im Image zu haben oder im Container. Während man die dem Container beim Starten geben kann, muss man die für das Image beim Build-Process schon haben. Ich benutze beides und muss sagen, dass ich an sich dafür bin die dem Container zu geben. Aber falls man sich mal fragt wie man dynamische Labels dem Image geben kann... ARG ist das Geheimnis.
Wenn ich nun eine dynamische Subdomain haben will:
FROM httpd:2.4
ARG subdomain
COPY ./index.html /usr/local/apache2/htdocs/index.html
LABEL traefik.enable=true traefik.frontend.rule=Host:$subdomain.example.com
Beim Bauen weißt man dem ARG so einen Wert zu:
docker build -t blubb:latest --build-arg subdomain="blubb" .
Hier kann man dann auch auf ENV-Variablen zurück greifen und die weiter durch reichen. Was sehr praktisch ist, wenn man sich in einem Gitlab-CI Job befindet.
Ich hatte ein kleines Problem mit der config.xml, dass sich rein auf die Reihenfolge der XML-Nodes bezog.
Richtig:
<element required="true" type="text" scope="locale">
<name>default_value</name>
<label lang="de">Standard Wert</label>
<label lang="en">Default value</label>
<value>default</value>
</element>
Falsch:
<element required="true" type="text" scope="locale">
<name>default_value</name>
<value>default</value>
<label lang="de">Standard Wert</label>
<label lang="en">Default value</label>
</element>
Muss man nur wissen....