Wie werden benutzerdefinierte App-Vorlagen in Container Station 3 konfiguriert und bereitgestellt?
Mit den App-Vorlagen von Container Station können Sie vorkonfigurierte Container in Ihrer QNAP-Umgebung bereitstellen. Container Station bietet standardmäßig eine Sammlung von QNAP-verifizierten Vorlagen, aber Sie können zusätzliche benutzerdefinierte Anwendungsvorlagen hinzufügen, um Ihre speziellen Anforderungen zu erfüllen. Sie können diese benutzerdefinierten App-Vorlagen direkt auf Ihrem QNAP-Gerät oder auf einem externen Webserver hosten.
In diesem Tutorial werden zwei Methoden erklärt, um benutzerdefinierte App-Vorlagen auf Ihrem QNAP-Gerät zu hosten, und wie man Container Station für den Zugriff auf diese benutzerdefinierten App-Vorlagen konfiguriert.
- Eine benutzerdefinierte App-Vorlagendatei erstellen
- Eine benutzerdefinierte App-Vorlage in einem NGINX-Container hosten
- Eine benutzerdefinierte App-Vorlage mit dem QNAP-Webserver hosten
- Eine benutzerdefinierte App-Vorlage zu Container Station hinzufügen
- Eine benutzerdefinierte App-Vorlage bereitstellen
Eine benutzerdefinierte App-Vorlagendatei erstellen
Der erste Schritt besteht darin, eine benutzerdefinierte App-Vorlagendatei zu erstellen. Container Station bietet standardmäßig eine Liste von Containern, deren korrekte Funktion mit Ihrem QNAP-Gerät überprüft wurde. Sie können QNAP-verifizierte Vorlagen hier herunterladen und ändern oder selbst eine neue Datei erstellen.
Sie können die Vorlagendatei mit einem beliebigen Texteditor bearbeiten.
App-Vorlagenformat
App-Vorlagendefinitionen werden in JSON geschrieben. Gültige Vorlagen bestehen aus einem Array und einem oder mehreren Container-Vorlagenelementen. Jedes Element der Container-Vorlage ist ein JSON-Objekt, das alle obligatorischen oder optionalen Datenfelder enthält. Das Format sollte ähnlich dem folgenden Beispiel sein:
{
“templates”: [
{
// template1
},
{
// template2
},
...
]
}
JSON-Element-Format
typ
|
Attribut |
Beschreibung |
|---|---|
|
Beschreibung |
Der Typ des Containers (Docker oder LXD) für diese Vorlage. |
|
Bedeutung |
Erforderlich |
|
Format |
Ganzzahl |
|
Akzeptierte Werte |
|
title
|
Attribut |
Beschreibung |
|---|---|
|
Beschreibung |
Der Titel der Vorlage. |
|
Bedeutung |
Erforderlich |
|
Format |
Zeichenfolge |
|
Akzeptierte Werte |
Beliebiger Zeichenfolgenwert |
sub_title
|
Attribut |
Beschreibung |
|---|---|
|
Beschreibung |
Informationen zur Vorlagenversion. |
|
Bedeutung |
Erforderlich |
|
Format |
Zeichenfolge |
|
Akzeptierte Werte |
Beliebiger Zeichenfolgenwert |
Beschreibung
|
Attribut |
Beschreibung |
|---|---|
|
Beschreibung |
Eine Beschreibung, die Informationen über die Vorlage enthält. |
|
Bedeutung |
Erforderlich |
|
Format |
Zeichenfolge |
|
Akzeptierte Werte |
Beliebiger Zeichenfolgenwert |
logo
|
Attribut |
Beschreibung |
|---|---|
|
Beschreibung |
Der Speicherort eines Logos für die Vorlage. |
|
Bedeutung |
Optional |
|
Format |
Zeichenfolge |
|
Akzeptierte Werte |
Jede gültige URL oder jeder gültige Pfad relativ zu der Netzwerkdomäne, in der die benutzerdefinierte App-Vorlage gehostet wird. |
location
|
Attribut |
Beschreibung |
|---|---|
|
Beschreibung |
Die Vorlagen-URL. Könnte eine Einführungswebseite für die Vorlage sein. |
|
Bedeutung |
Optional |
|
Format |
Zeichenfolge |
|
Akzeptierte Werte |
Jede gültige URL |
platform
|
Attribut |
Beschreibung |
|---|---|
|
Beschreibung |
Die unterstützte Plattform. Muss einen gültigen Wert enthalten. |
|
Bedeutung |
Erforderlich |
|
Format |
Zeichenfolge |
|
Akzeptierte Werte |
|
|
Beispiel |
|
image
|
Attribut |
Beschreibung |
|---|---|
|
Beschreibung |
Das mit einer Vorlage verknüpfte Image. |
|
Bedeutung |
Erforderlich |
|
Format |
Zeichenfolge |
|
Akzeptierte Werte |
Jedes gültige Image |
|
Beispiel |
|
command
|
Attribut |
Beschreibung |
|---|---|
|
Beschreibung |
Der Befehl, der im Docker-Container ausgeführt werden soll. Wenn nichts angegeben wird, verwendet der Container den im Dockerfile angegebenen Standardbefehl. |
|
Bedeutung |
Optional |
|
Format |
Zeichenfolge |
|
Akzeptierte Werte |
Beliebiger Zeichenfolgenwert |
|
Beispiel |
|
entrypoint
|
Attribut |
Beschreibung |
|---|---|
|
Beschreibung |
Der Einstiegspunkt zum Starten des Docker-Containers. Wenn nichts angegeben wird, verwendet der Container den im Dockerfile angegebenen Einstiegspunkt. |
|
Bedeutung |
Optional |
|
Format |
Zeichenfolge |
|
Akzeptierte Werte |
Beliebiger Zeichenfolgenwert |
|
Beispiel |
|
env
|
Attribut |
Beschreibung |
|---|---|
|
Beschreibung |
Ein JSON-Array, das die von einer Vorlage benötigten Umgebungsvariablen beschreibt. Jedes Element im Array muss ein gültiges JSON-Objekt sein. |
|
Bedeutung |
Optional |
|
Format |
Array |
|
Akzeptierte Werte |
Ein gültiges JSON-Array |
|
Array-Format |
|
|
Beispiel |
|
labels
|
Attribut |
Beschreibung |
|---|---|
|
Beschreibung |
Ein JSON-Array, das die mit einer Vorlage verknüpften Label beschreibt. Jedes Element im Array muss ein gültiges JSON-Objekt sein. |
|
Bedeutung |
Optional |
|
Format |
Array |
|
Akzeptierte Werte |
Ein gültiges JSON-Array |
|
Array-Format |
|
|
Beispiel |
|
volumes
|
Attribut |
Beschreibung |
|---|---|
|
Beschreibung |
Ein JSON-Array, das die mit einer Vorlage verknüpften Volumes beschreibt. Jedes Element im Array muss ein gültiges JSON-Objekt mit einer erforderlichen Container-Eigenschaft sein. |
|
Bedeutung |
Optional |
|
Format |
Array |
|
Akzeptierte Werte |
Ein gültiges JSON-Array |
|
Array-Format |
|
|
Beispiel |
|
ports
|
Attribut |
Beschreibung |
|---|---|
|
Beschreibung |
Ein JSON-Array, das die von einer Vorlage bereitgestellten Ports beschreibt. Jedes Element des Arrays muss eine gültige JSON-Zeichenfolge sein, die die Portnummer im Container sowie das Protokoll angibt. Dieser kann optional eine Portnummer und ein Doppelpunkt vorangestellt werden (z. B. 8080:), um den Port zu definieren, der auf dem Host abgebildet wird. Wenn der Host-Port nicht angegeben wird, weist der Docker-Host beim Start des Containers automatisch einen Port zu. |
|
Bedeutung |
Optional |
|
Format |
Array |
|
Akzeptierte Werte |
Ein gültiges JSON-Array |
|
Beispiel |
|
hostname
|
Attribut |
Beschreibung |
|---|---|
|
Beschreibung |
Der Hostname des Containers. Kann helfen, den Container leicht zu identifizieren. |
|
Bedeutung |
Optional |
|
Format |
Zeichenfolge |
|
Akzeptierte Werte |
Beliebiger Zeichenfolgenwert |
|
Beispiel |
|
restart_policy
|
Attribut |
Beschreibung |
|---|---|
|
Beschreibung |
Die mit dem Docker-Container verknüpfte Neustartrichtlinie. Wenn nichts angegeben wird, ist dieser Wert standardmäßig unless-stopped. |
|
Bedeutung |
Optional |
|
Format |
Zeichenfolge |
|
Akzeptierte Werte |
|
|
Beispiel |
|
auto_start_policy
|
Attribut |
Beschreibung |
|---|---|
|
Beschreibung |
Die mit dem LXD-Container verknüpfte Auto-Start-Richtlinie. Wenn nichts angegeben wird, ist dieser Wert standardmäßig retain. |
|
Bedeutung |
Optional |
|
Format |
Zeichenfolge |
|
Akzeptierte Werte |
|
|
Beispiel |
|
interactive
|
Attribut |
Beschreibung |
|---|---|
|
Beschreibung |
Steuert, ob der Docker-Container im Vordergrundmodus gestartet werden soll. Wenn nichts angegeben wird, ist der Wert standardmäßig true. |
|
Bedeutung |
Optional |
|
Format |
Boolean |
|
Akzeptierte Werte |
|
|
Beispiel |
|
tty
|
Attribut |
Beschreibung |
|---|---|
|
Beschreibung |
Steuert, ob dem Docker-Container ein Pseudo-TTY zugewiesen werden soll. Wenn nichts angegeben wird, ist es standardmäßig true. |
|
Bedeutung |
Optional |
|
Format |
Boolean |
|
Akzeptierte Werte |
|
|
Beispiel |
|
privileged
|
Attribut |
Beschreibung |
|---|---|
|
Beschreibung |
Steuert, ob der Container im privilegierten Modus gestartet werden soll. Wenn nichts angegeben wird, ist es standardmäßig false. |
|
Bedeutung |
Optional |
|
Format |
Boolean |
|
Akzeptierte Werte |
|
|
Beispiel |
|
Eine benutzerdefinierte App-Vorlage in einem NGINX-Container hosten
Als nächstes müssen Sie die benutzerdefinierte App-Vorlage für Container Station verfügbar machen. In diesem Thema wird der Prozess des Hostings der Vorlagendatei mit einem NGINX-Container erläutert, der ebenfalls in Container Station läuft.
Alternativ dazu können Sie die App-Vorlagendatei auch auf dem QNAP-Webserver hosten. Siehe Eine benutzerdefinierte App-Vorlage mit dem QNAP-Webserver hosten.
Nachdem Sie die JSON-Datei der benutzerdefinierten App-Vorlagen aktualisiert haben, müssen Sie den NGINX-Container neu starten, damit die Änderungen innerhalb des Containers übernommen werden.
Die App-Vorlagendatei wird zur Verwendung verfügbar gemacht.
Sie können überprüfen, ob die App-Vorlagendatei zugänglich ist, indem Sie im Webbrowser http://HOST_IP_ADDRESS:PUBLISHED_HOST_PORT/TEMPLATE_FILENAME eingeben. Beispiel: http://192.168.1.1:30080/my-templates.json.
Eine benutzerdefinierte App-Vorlage mit dem QNAP-Webserver hosten
Als nächstes müssen Sie die benutzerdefinierte App-Vorlage für Container Station verfügbar machen. In diesem Thema wird der Prozess des Hostings der Vorlagendatei mit dem QNAP-Webserver erklärt.
Alternativ können Sie die App-Vorlagendatei auch mit einem NGINX-Container direkt in Container Station hosten. Siehe Eine benutzerdefinierte App-Vorlage in einem NGINX-Container hosten.
- Aktivieren Sie den QTS-Webserver.
- Laden Sie die benutzerdefinierte App-Vorlagendatei hoch.
Die App-Vorlagendatei wird zur Verwendung verfügbar gemacht.
Sie können überprüfen, ob die App-Vorlagendatei zugänglich ist, indem Sie im Webbrowser http://HOST_IP_ADDRESS:WEB_SERVER_PORT/TEMPLATE_FILENAME eingeben. Beispiel: http://192.168.1.1:80/my-templates.json.
Eine benutzerdefinierte App-Vorlage zu Container Station hinzufügen
Der nächste Schritt besteht darin, die benutzerdefinierte App-Vorlagendatei zu Container Station hinzuzufügen. Damit wird die Liste der Anwendungen in Container Station verfügbar.
Container Station speichert die benutzerdefinierte App-Vorlage.
Eine benutzerdefinierte App-Vorlage bereitstellen
Der letzte Schritt besteht darin, einen Container aus der benutzerdefinierten App-Vorlagendatei bereitzustellen, die Sie im vorherigen Schritt hinzugefügt haben.
Der Assistent Container bereitstellen wird geöffnet. Siehe Einen Docker-Container erstellen.



.



