Hur konfigureras och distribueras anpassade appmallar i Container Station 3?


Senaste ändringsdatum: 2023-03-27

Container Station-appmallar låter dig distribuera förkonfigurerade behållare till din QNAP-miljö. Som standard tillhandahåller Container Station en samling QNAP-verifierade mallar men du kan lägga till ytterligare anpassade appmallar som motsvarar dina specifika behov. Du kan vara värd åt dessa anpassade appmallar direkt på din QNAP-enhet eller på en extern webbserver.

Den här självstudien förklarar två metoder som kan användas för att vara värd åt anpassade appmallar på din QNAP-enhet och hur Container Station kan användas till att få åtkomst till dessa anpassade appmallar.

Skapa en mallfil för en anpassad app

Det första steget är att skapa en anpassad appmall. Som standard tillhandahåller Container Station en lista med behållare som har verifierats att fungera korrekt med din QNAP-enhet. Du kan ladda ned och modifiera QNAP-verifierade mallar här eller själv skapa en ny fil.

Obs!

Du kan modifiera mallfilen med alla textredigerare.

Appmallsformat

Appmallsdefinitioner är skrivna i JSON. Giltiga mallar består av en matris och en eller flera beståndsdelar av typen som finns i en behållarmall. Varje beståndsdel i en behållarmall är ett JSON-objekt som inkluderar alla obligatoriska eller valfria datafält. Formatet ska vara liknande det följande exemplet:

{
  “templates”: [
    {
      // template1
    },
    {
      // template2
    },
    ...
  ]
}

JSON-elementformat

typ

Attribut

Beskrivning

Beskrivning

Typ av behållare (Docker eller LXD) för den här mallen.

Betydelse

Nödvändig

Format

Heltal

Godkända värden

  • 1: Används för Docker-behållare.

  • 10: Används för LXD-behållare.

titel

Attribut

Beskrivning

Beskrivning

Mallens titel.

Betydelse

Nödvändig

Format

Sträng

Godkända värden

Valfritt strängvärde

undertext

Attribut

Beskrivning

Beskrivning

Information om mallversionen.

Betydelse

Nödvändig

Format

Sträng

Godkända värden

Valfritt strängvärde

beskrivning

Attribut

Beskrivning

Beskrivning

En beskrivning som ger information om mallen.

Betydelse

Nödvändig

Format

Sträng

Godkända värden

Valfritt strängvärde

logotyp

Attribut

Beskrivning

Beskrivning

Platsen för en logotyp kan placeras i mallen.

Betydelse

Valfritt

Format

Sträng

Godkända värden

En giltig URL eller sökväg i förhållande till den nätverksdomän som är värd för den anpassade appmallen.

plats

Attribut

Beskrivning

Beskrivning

Mallens URL. Kan vara en introduktionswebbsida för mallen.

Betydelse

Valfritt

Format

Sträng

Godkända värden

Alla giltiga URL

plattform

Attribut

Beskrivning

Beskrivning

Plattformen som stöds. Måste innehålla ett giltigt värde.

Betydelse

Nödvändig

Format

Sträng

Godkända värden

  • linux: Alla plattformar

  • linux/amd64: 64-bitars x86

  • linux/arm64: 64-bitars ARM

  • linux/arm: 32-bitars ARM

Exempel

{
  "platform": "linux/amd64"
}

skivavbild

Attribut

Beskrivning

Beskrivning

Skivavbilden som hör till en mall.

Betydelse

Nödvändig

Format

Sträng

Godkända värden

Alla giltiga skivavbilder

Exempel

{
  "image": "nginx:latest"
}

kommando

Attribut

Beskrivning

Beskrivning

Kommandot för att köra i Docker-behållaren. Anges det inte så använder behållaren standardkommandot som anges i Dockerfilen.

Betydelse

Valfritt

Format

Sträng

Godkända värden

Valfritt strängvärde

Exempel

{
  "command": "nginx -g 'daemon off;'"
}

startpunkt

Attribut

Beskrivning

Beskrivning

Startpunkt för att starta Docker-behållaren. Om inget anges använder behållaren den standardstartpunkt som anges i Dockerfilen.

Betydelse

Valfritt

Format

Sträng

Godkända värden

Valfritt strängvärde

Exempel

{
  "entrypoint": "/docker-entrypoint.sh"
}

kuv.

Attribut

Beskrivning

Beskrivning

En JSON-matris som beskriver de miljövariabler som är obligatoriska för en mall. Alla element i matrisen måste vara ett giltigt JSON-objekt.

Betydelse

Valfritt

Format

Matris

Godkända värden

En giltig JSON-matris

Matrisformat

  • namn: (Obligatoriskt) namnet på miljövariabeln som stöds i behållarskivavbilden.

  • värde: (Obligatoriskt) det värde hör till variabeln.

Exempel

{
  "env": [
    { "name": "ENV_VAR1", "value": "" },
    { "name": "ENV_VAR2", "value": "value2" }
  ]
}

etiketter

Attribut

Beskrivning

Beskrivning

En JSON-matris beskriver etiketter som hör till en mall. Alla element i matrisen måste vara ett giltigt JSON-objekt.

Betydelse

Valfritt

Format

Matris

Godkända värden

En giltig JSON-matris

Matrisformat

  • namn: (Obligatoriskt) namnet på etikettnyckeln.

  • värde: (Obligatoriskt) värdet som hör till nyckeln.

Exempel

{
  "labels": [
    { "name": "com.example.vendor", "value": "Acme Incorporated" },
    { "name": "com.example.label-with-value", "value": "foo" },
    { "name": "version", "value": "1.0" }
  ]
}

volymer

Attribut

Beskrivning

Beskrivning

En JSON-matris som beskriver volymer som hör till en mall. Varje element i matrisen måste vara ett giltigt JSON-objekt med en obligatorisk behållaregenskap.

Betydelse

Valfritt

Format

Matris

Godkända värden

En giltig JSON-matris

Matrisformat

  • behållare: (Obligatoriskt) behållarens sökväg.

  • volym: (Valfritt) namnet på Docker-volymen.

  • bind: (Valfritt för Docker-behållare, krävs för LXD-behållare) värdsökvägen som används som källa till en bunden montering.

  • skrivskyddad: (Valfritt) om det är inställt tillsantär volymen monterad i skrivskyddat läge.

Exempel

{
  "volumes": [
    {
      "container": "/usr/share/nginx/html"
    },
    {
      "container": "/usr/share/nginx/html"
      "volume": "nginx-vol"
    },
    {
      "container": "/usr/share/nginx/html/my-templates.json",
      "bind": "/Container/my-templates.json  ",
      "readonly": true
    }
  ]
}

portar

Attribut

Beskrivning

Beskrivning

En JSON-matris som beskriver de portar som exponeras av en mall. Varje element i matrisen måste vara en giltig JSON-sträng som anger portnumret i behållaren och även protokollet. Detta kan eventuellt ha ett prefix, exempelvis ett portnummer och kolon (till exempel 8080:) för att definiera den port som mappas på värden. Om värdporten inte har angetts tilldelar Docker-värden automatiskt en port när behållaren startar.

Betydelse

Valfritt

Format

Matris

Godkända värden

En giltig JSON-matris

Exempel

{
  "ports": ["8080:80/tcp", "443/tcp", "80/udp"]
}

värdnamn

Attribut

Beskrivning

Beskrivning

Behållarvärdnamnet. Kan bidra till att enkelt identifiera behållaren.

Betydelse

Valfritt

Format

Sträng

Godkända värden

Valfritt strängvärde

Exempel

{
  "hostname": "myContainerHostName"
}

omstartsprincip

Attribut

Beskrivning

Beskrivning

Den omstartsprincip som hör till Docker-behållaren. Om inget anges blir det här värdet som standardom inte stoppad.

Betydelse

Valfritt

Format

Sträng

Godkända värden

  • nej: Starta inte om behållaren automatiskt.

  • vid fel: Starta om behållaren om den avslutats på grund av fel, exempelvis en avslutskod som inte är noll.

  • alltid: Starta alltid om behållaren om den slutar köra. Om den stoppats manuellt startar den bara om när Container Station startar om eller när du startar om behållaren manuellt.

  • om inte stoppad: Liknande Alltid med skillnaden att behållaren inte startar om även efter att Container Station startat om, om behållaren har stoppats manuellt.

Exempel

{
  "restart_policy": "unless-stopped"
}

autostartprincip

Attribut

Beskrivning

Beskrivning

Principen för automatisk start som hör till LXD-behållaren. Om inget anges blir det här värdet som standardbehåll.

Betydelse

Valfritt

Format

Sträng

Godkända värden

  • nej: Starta inte om behållaren automatiskt.

  • alltid: Starta alltid om behållaren om den slutar köra. Om den stoppats manuellt startar den bara om när Container Station startar om eller när du startar om behållaren manuellt.

  • behåll: Liknande Alltid med skillnaden att behållaren inte startar om även efter att Container Station startat om, om behållaren har stoppats manuellt.

Exempel

{
  "auto_start_policy": "retain"
}

interaktiv

Attribut

Beskrivning

Beskrivning

Styr huruvida Docker-behållaren ska starta i förgrundsläge. Om inget anges blir värdet som standardsant.

Betydelse

Valfritt

Format

Boolesk

Godkända värden

  • sant: Starta Docker-behållaren i förgrundsläge.

  • falskt: Startar behållaren i lösgjort läge.

Exempel

{
  "interactive": false
}

tty

Attribut

Beskrivning

Beskrivning

Styr huruvida Docker-behållaren ska tilldelas ett pseudo-TTY. Om inget anges är standardinställningensant.

Betydelse

Valfritt

Format

Boolesk

Godkända värden

  • sant: Tilldelar en pseudo-TTY till Docker-behållaren

  • falskt: Tilldelar inte en pseudo-TTY till Docker-behållaren.

Exempel

{
  "tty": false
}

privilegierad

Attribut

Beskrivning

Beskrivning

Styr huruvida behållaren ska starta i privilegierat läge. Om inget anges är standardinställningenfalskt.

Betydelse

Valfritt

Format

Boolesk

Godkända värden

  • sant: Startar behållaren i privilegierat läge.

  • falskt: Startar inte behållaren i privilegierat läge.

Exempel

{
  "privileged": true
}

Vara värd åt en anpassad appmall i en NGINX-behållare

Därefter behöver du göra den anpassade appmallen tillgänglig för Container Station. Det här ämnet förklarar processen med att vara värd åt mallfilen i en NGINX-behållare som också körs i Container Station.

Alternativt kan du även vara värd åt appmallsfilen på QNAP-webbserver. Se Vara värd åt en anpassad appmall med QNAP-webbserver.

Viktigt!

När du har uppdaterat JSON-filen med anpassade appmallar måste du starta om NGINX-behållaren för att ändringarna ska reflekteras i behållaren.

  1. Ladda upp filen med den anpassade appmallen.
    1. Öppna File Station.
    2. Navigera till en mapp på enheten.
    3. Ladda upp filen med appmallen.
    4. Anteckna platsen för mallfilen för senare användning.
  2. Öppna Container Station.
  3. I toppanelen; klicka på pilen bredvid Utforska
  4. Välj Skapa behållare.

    Fönstret Skapa behållare öppnas.

  5. Välj en skivavbild.

    Inställning

    Åtgärd

    Läge

    Välj Grundläggande läge.

    Register

    Välj Docker Hub.

    Skivavbild

    Mata innginx.

  6. Klicka på Nästa.
  7. Valfritt: Konfigurera behållarinställningarna.

    Inställning

    Åtgärd

    Namn

    Ange ett namn för behållaren. Till exempel: nginx-my-template.

    Auto-start-princip

    Välj Om inte stoppad.

    Det här alternativet gör att behållaren alltid startar om, om den inte stoppats manuellt av en användare.

    Nätverkskonfiguration

    Konfigurera inställningarna så att de passar din nätverksmiljö.

    I den här självstudien använder vi standardnätverksläge och skickar trafik till behållaren genom port30080 på värden.

    Obs!

    Om fältet Värd inte anges kan den publicerade porten ändras när behållaren startas om. Det kan göra att appmallen blir oåtkomlig för Container Station.

  8. Valfritt: Modifiera de avancerade inställningarna.
    1. Klicka på Avancerade inställningar.

      Fönstret Avancerade inställningar visas.

    2. Gå till fliken Lagring.
    3. Klicka på pilen bredvid Lägg till volym.
    4. Välj Bind monterad värds sökväg.

      En ny lagringsrad läggs till.

    5. Klicka på .

      Fönstret Välj värdsökväg öppnas.

    6. Lokalisera och välj den fil med appmall som du laddade upp tidigare.
    7. Klicka på Tillämpa.
    8. I fältet Behållare anger du/usr/share/nginx/html/TEMPLATE_FILENAME.
      Obs!

      ErsättTEMPLATE_FILENAME med namnet på din mallfil. Till exempel: /usr/share/nginx/html/my-templates.json

    9. Välj RO.
    10. Klicka på Tillämpa.

      Container Station lagrar lagringsinställningarna.

  9. Klicka på Nästa.
  10. Granska behållarinställningarna och klicka sedan på Slutför.

Filen med appmallen blir tillgänglig att använda.

Obs!

Du kan verifiera att filen med appmall går att komma åt genom att ange http://HOST_IP_ADDRESS:PUBLISHED_HOST_PORT/TEMPLATE_FILENAME i webbläsaren. Exempelvis: http://192.168.1.1:30080/my-templates.json.

Vara värd åt en anpassad appmall med QNAP-webbserver

Därefter behöver du göra den anpassade appmallen tillgänglig för Container Station. Det här ämnet förklarar processen med att vara värd åt mallfilen på QNAP-webbserver.

Alternativt kan du även vara värd åt filen med appmall på en NGINX-behållare direkt i Container Station. Se Vara värd åt en anpassad appmall i en NGINX-behållare.

  1. Aktivera QTS-webbserver.
    1. Logga in på systemet som en administratör.
    2. Gå till Kontrollpanelen > Applikationer > Webbserver > Webbserver.
    3. Välj Aktivera webbserver.
    4. Valfritt: Konfigurera webbserverinställningarna.
    5. Klicka på Tillämpa.

      Systemet aktiverar webbservern

  2. Ladda upp filen med den anpassade appmallen.
    1. Öppna File Station.
    2. Navigera till mappen Web som skapats för webbservern.
    3. Ladda upp filen med appmallen.

Filen med appmallen blir tillgänglig att använda.

Obs!

Du kan verifiera att filen med appmall går att komma åt genom att ange http://HOST_IP_ADDRESS:WEB_SERVER_PORT/TEMPLATE_FILENAME i webbläsaren. Exempelvis: http://192.168.1.1:80/my-templates.json.

Lägga till en anpassad appmall i Container Station

Nästa steg är att lägga till filen med en anpassade appmallen i Container Station. Detta skapar listan med tillämpliga appar som finns tillgängliga i Container Station.

  1. Starta Container Station.
  2. I menyn; klicka på Preferenser.
  3. Gå till Appmallar.
  4. Välj Aktivera anpassad mall.
  5. Ange URL till en anpassad appmall.
    Obs!

    Beroende på din konfiguration kan URL kräva att du inkluderar IP-adressen till och portnumret på den konfigurerade webbservern. Till exempel: http://192.168.1.1:30080/my-template-file.json.

  6. Klicka på Tillämpa.

Container Station sparar den anpassade appmallen.

Distribuera en anpassad appmall

Det slutliga steget är att distribuera en behållare från filen med den anpassade appmallen som du lagt till i det tidigare steget.

  1. I menyn; gå till Appmallar.
  2. Gå till fliken Anpassade mallar.
  3. Identifiera en mall.
  4. Klicka på Distribuera.

Guiden Distribuera behållare öppnas. Se Skapa en Docker-behållare.

Var den här artikeln till hjälp?

Användare som tyckte detta var användbart 60% procent.
Tack för din feedback.

Berätta för oss hur vi kan förbättra artikeln:

Ge oss fler synpunkter genom att skriva dem nedan.

Välj specifikation

      Visa fler Färre

      Denna webbplats i andra länder/regioner:

      open menu
      back to top