Aangepaste app-sjablonen configureren en implementeren in Container Station 3
U kunt met app-sjablonen in Container Station kant-en-klare containers implementeren in uw QNAP-omgeving. Container Station biedt standaard een reeks door QNAP geverifieerde sjablonen, maar u kunt extra aangepaste app-sjablonen toevoegen voor uw specifieke behoeften. U kunt deze aangepaste app-sjablonen rechtstreeks hosten op uw QNAP-apparaat of op een externe webserver.
In deze zelfstudie worden twee methoden voor het hosten van aangepaste app-sjablonen op uw QNAP-apparaat uitgelegd. Ook leest u hoe u Container Station kunt configureren om toegang te krijgen tot deze aangepaste app-sjablonen.
- Een aangepast app-sjabloonbestand maken
- Een aangepaste app-sjabloon hosten in een NGINX-container
- Een aangepaste app-sjabloon hosten met de QNAP-webserver
- Een aangepaste app-sjabloon toevoegen aan Container Station
- Een aangepaste app-sjabloon implementeren
Een aangepast app-sjabloonbestand maken
U moet om te beginnen een aangepast app-sjabloonbestand maken. Container Station biedt standaard een lijst met containers waarvan is vastgesteld dat ze goed werken met uw QNAP-apparaat. U kunt hier door QNAP geverifieerde sjablonen downloaden en wijzigen of zelf een nieuw bestand maken.
U kunt het sjabloonbestand in elke tekstverwerker wijzigen.
Indeling van app-sjabloon
Definities voor app-sjablonen worden in JSON geschreven. Geldige sjablonen bestaan uit een reeks en minimaal één containersjabloonelement. Elk containersjabloonelement is een JSON-object dat verplichte of optionele gegevensvelden bevat. De indeling moet vergelijkbaar zijn met die van het volgende voorbeeld:
{
“templates”: [
{
// template1
},
{
// template2
},
...
]
}
Indeling van JSON-element
type
|
Kenmerk |
Beschrijving |
|---|---|
|
Beschrijving |
Het type container (Docker of LXD) voor dze sjabloon. |
|
Belang |
Vereist |
|
Indeling |
Geheel getal |
|
Geaccepteerde waarden |
|
titel
|
Kenmerk |
Beschrijving |
|---|---|
|
Beschrijving |
De titel van de sjabloon. |
|
Belang |
Vereist |
|
Indeling |
Tekenreeks |
|
Geaccepteerde waarden |
Elke tekenreekswaarde |
sub_title
|
Kenmerk |
Beschrijving |
|---|---|
|
Beschrijving |
Informatie over de versie van de sjabloon. |
|
Belang |
Vereist |
|
Indeling |
Tekenreeks |
|
Geaccepteerde waarden |
Elke tekenreekswaarde |
beschrijving
|
Kenmerk |
Beschrijving |
|---|---|
|
Beschrijving |
Een beschrijving die wordt gebruikt om informatie over de sjabloon te verstrekken. |
|
Belang |
Vereist |
|
Indeling |
Tekenreeks |
|
Geaccepteerde waarden |
Elke tekenreekswaarde |
logo
|
Kenmerk |
Beschrijving |
|---|---|
|
Beschrijving |
De locatie van een logo voor de sjabloon. |
|
Belang |
Optioneel |
|
Indeling |
Tekenreeks |
|
Geaccepteerde waarden |
Elke geldige URL of elk pad ten opzichte van het netwerkdomein waar de aangepaste app-sjabloon wordt gehost. |
locatie
|
Kenmerk |
Beschrijving |
|---|---|
|
Beschrijving |
De URL van de sjabloon. Dit kan een introductiepagina zijn voor de sjabloon. |
|
Belang |
Optioneel |
|
Indeling |
Tekenreeks |
|
Geaccepteerde waarden |
Elke geldige URL |
platform
|
Kenmerk |
Beschrijving |
|---|---|
|
Beschrijving |
Het ondersteunde platform. Moet een geldige waarde bevatten. |
|
Belang |
Vereist |
|
Indeling |
Tekenreeks |
|
Geaccepteerde waarden |
|
|
Voorbeeld |
|
installatiekopie
|
Kenmerk |
Beschrijving |
|---|---|
|
Beschrijving |
De installatiekopie die aan een sjabloon wordt gekoppeld. |
|
Belang |
Vereist |
|
Indeling |
Tekenreeks |
|
Geaccepteerde waarden |
Elke geldige installatiekopie |
|
Voorbeeld |
|
opdracht
|
Kenmerk |
Beschrijving |
|---|---|
|
Beschrijving |
De opdracht die in de Docker-container moet worden uitgevoerd. Als deze niet wordt opgegeven, gebruikt de container de standaardopdracht die in het Docker-bestand is opgegeven. |
|
Belang |
Optioneel |
|
Indeling |
Tekenreeks |
|
Geaccepteerde waarden |
Elke tekenreekswaarde |
|
Voorbeeld |
|
instappunt
|
Kenmerk |
Beschrijving |
|---|---|
|
Beschrijving |
Het instappunt om de Docker-container te starten. Als deze niet wordt opgegeven, gebruikt de container het standaard instappunt dat in het Docker-bestand is opgegeven. |
|
Belang |
Optioneel |
|
Indeling |
Tekenreeks |
|
Geaccepteerde waarden |
Elke tekenreekswaarde |
|
Voorbeeld |
|
env
|
Kenmerk |
Beschrijving |
|---|---|
|
Beschrijving |
Een JSON-matrix die de omgevingsvariabelen beschrijft die de sjabloon nodig heeft. Elk element in de matrix moet een geldig JSON-object zijn. |
|
Belang |
Optioneel |
|
Indeling |
Matrix |
|
Geaccepteerde waarden |
Een geldige JSON-matrix |
|
Matrixindeling |
|
|
Voorbeeld |
|
labels
|
Kenmerk |
Beschrijving |
|---|---|
|
Beschrijving |
Een JSON-matrix die de labels beschrijft die aan een sjabloon zijn gekoppeld. Elk element in de matrix moet een geldig JSON-object zijn. |
|
Belang |
Optioneel |
|
Indeling |
Matrix |
|
Geaccepteerde waarden |
Een geldige JSON-matrix |
|
Matrixindeling |
|
|
Voorbeeld |
|
volumes
|
Kenmerk |
Beschrijving |
|---|---|
|
Beschrijving |
Een JSON-matrix die de volumes beschrijft die aan een sjabloon zijn gekoppeld. Elk element in de matrix moet een geldig JSON-object zijn met een vereiste containereigenschap. |
|
Belang |
Optioneel |
|
Indeling |
Matrix |
|
Geaccepteerde waarden |
Een geldige JSON-matrix |
|
Matrixindeling |
|
|
Voorbeeld |
|
poorten
|
Kenmerk |
Beschrijving |
|---|---|
|
Beschrijving |
Een JSON-matrix die de poorten beschrijft die door een sjabloon openbaar worden gemaakt. Elk element in de reeks moet een geldige JSON-tekenreeks zijn die haven in de container en het protocol opgeeft. Hier kunnen optioneel een poortnummer en dubbele punt (bijv. 8080:) aan voorafgaan om de poort te definiëren die aan de host is toegewezen. Als de hostpoort niet is opgegeven, wijst de Docker-host automatisch een poort toe wanneer de container start. |
|
Belang |
Optioneel |
|
Indeling |
Matrix |
|
Geaccepteerde waarden |
Een geldige JSON-matrix |
|
Voorbeeld |
|
hostnaam
|
Kenmerk |
Beschrijving |
|---|---|
|
Beschrijving |
De hostnaam van de container. Deze kan helpen om de container gemakkelijk te herkennen. |
|
Belang |
Optioneel |
|
Indeling |
Tekenreeks |
|
Geaccepteerde waarden |
Elke tekenreekswaarde |
|
Voorbeeld |
|
restart_policy
|
Kenmerk |
Beschrijving |
|---|---|
|
Beschrijving |
Het beleid voor opnieuw starten dat aan de Docker-container is gekoppeld. Als deze niet is opgegeven, heeft deze waarde de standaardinstellingunless-stopped. |
|
Belang |
Optioneel |
|
Indeling |
Tekenreeks |
|
Geaccepteerde waarden |
|
|
Voorbeeld |
|
auto_start_policy
|
Kenmerk |
Beschrijving |
|---|---|
|
Beschrijving |
Het beleid voor automatisch starten dat aan de LXD-container is gekoppeld. Als deze niet is opgegeven, heeft deze waarde de standaardinstellingretain. |
|
Belang |
Optioneel |
|
Indeling |
Tekenreeks |
|
Geaccepteerde waarden |
|
|
Voorbeeld |
|
interactive
|
Kenmerk |
Beschrijving |
|---|---|
|
Beschrijving |
Bepaalt of de Docker-container op de voorgrond moet worden gestart. Als deze niet is opgegeven, heeft deze waarde de standaardinstellingtrue. |
|
Belang |
Optioneel |
|
Indeling |
Booleaans |
|
Geaccepteerde waarden |
|
|
Voorbeeld |
|
tty
|
Kenmerk |
Beschrijving |
|---|---|
|
Beschrijving |
Bepaalt of er een pseudo-TTY aan de Docker-container moet worden toegewezen. Als deze waarde niet wordt opgegeven, is de standaardinstellingtrue. |
|
Belang |
Optioneel |
|
Indeling |
Booleaans |
|
Geaccepteerde waarden |
|
|
Voorbeeld |
|
privileged
|
Kenmerk |
Beschrijving |
|---|---|
|
Beschrijving |
Bepaalt of de container in de modus met machtigingen moet worden gestart. Als deze waarde niet wordt opgegeven, is de standaardinstellingfalse. |
|
Belang |
Optioneel |
|
Indeling |
Booleaans |
|
Geaccepteerde waarden |
|
|
Voorbeeld |
|
Een aangepaste app-sjabloon hosten in een NGINX-container
Vervolgens moet u de aangepaste app-sjabloon beschikbaar maken voor Container Station. In dit onderwerp wordt uitgelegd hoe het sjabloonbestand wordt gehost met een NGINX-container die ook in Container Station wordt uitgevoerd.
U kunt het app-sjabloonbestand eventueel ook hosten op de QNAP-webserver. Raadpleeg Een aangepaste app-sjabloon hosten met de QNAP-webserver.
Nadat u het JSON-bestand voor de aangepaste app-sjablonen hebt bijgewerkt, moet u de NGINX-container opnieuw opstarten om de wijzigingen toe te passen in de container.
Het app-sjabloonbestand kan nu worden gebruikt.
U kunt controleren of het app-sjabloonbestand beschikbaar is door in de webbrowser naar http://HOST_IP_ADDRESS:PUBLISHED_HOST_PORT/TEMPLATE_FILENAME te gaan. Bijvoorbeeld: http://192.168.1.1:30080/my-templates.json.
Een aangepaste app-sjabloon hosten met de QNAP-webserver
Vervolgens moet u de aangepaste app-sjabloon beschikbaar maken voor Container Station. In dit onderwerp wordt uitgelegd hoe het sjabloonbestand wordt gehost met een QNAP-webserver.
Eventueel kunt u de app-sjabloonbestand ook rechtstreeks hosten in een NGINX-container in Container Station. Raadpleeg Een aangepaste app-sjabloon hosten in een NGINX-container.
- Schakel de QTS-webserver in;
- Upload het aangepaste app-sjabloonbestand;
Het app-sjabloonbestand kan nu worden gebruikt.
U kunt controleren of het app-sjabloonbestand beschikbaar is door in de webbrowser naar http://HOST_IP_ADDRESS:WEB_SERVER_PORT/TEMPLATE_FILENAME te gaan. Bijvoorbeeld: http://192.168.1.1:80/my-templates.json.
Een aangepaste app-sjabloon toevoegen aan Container Station
Vervolgens moet u de aangepaste app-sjabloonbestand toevoegen Container Station. Hierdoor wordt de lijst met toepassings-apps beschikbaar in Container Station.
Container Station slaat de aangepaste app-sjabloon op.
Een aangepaste app-sjabloon implementeren
Als laatste moet u een container implementeren op basis van het aangepaste app-sjabloonbestand dat u in de vorige stap hebt toegevoegd.
De wizard Container implementeren wordt geopend. Raadpleeg Een Docker-container maken.



.



