Jak konfigurować i wdrażać niestandardowe szablony aplikacji w aplikacji Container Station 3?
Szablony aplikacji Container Station umożliwiają wdrażanie wstępnie skonfigurowanych kontenerów w środowisku QNAP. Domyślnie aplikacja Container Station udostępnia kolekcję szablonów zweryfikowanych przez QNAP, ale możesz dodać kolejne niestandardowe szablony aplikacji, aby zaspokoić swoje konkretne potrzeby. Te niestandardowe szablony aplikacji możesz hostować bezpośrednio na urządzeniu QNAP lub na zewnętrznym serwerze WWW.
W tym samouczku wyjaśniono dwie metody hostowania niestandardowych szablonów aplikacji na urządzeniu QNAP oraz sposób konfigurowania aplikacji Container Station w celu uzyskiwania dostępu do tych niestandardowych szablonów aplikacji.
- Tworzenie pliku niestandardowego szablonu aplikacji
- Hostowanie niestandardowego szablonu aplikacji w kontenerze NGINX
- Hostowanie niestandardowego szablonu aplikacji przy użyciu serwera WWW QNAP
- Dodawanie niestandardowego szablonu aplikacji do aplikacji Container Station
- Wdrażanie niestandardowego szablonu aplikacji
Tworzenie pliku niestandardowego szablonu aplikacji
Pierwszym krokiem jest utworzenie pliku niestandardowego szablonu aplikacji. Domyślnie aplikacja Container Station udostępnia listę kontenerów, które są zweryfikowane pod kątem prawidłowego działania z Twoim urządzeniem QNAP. Szablony zweryfikowane przez QNAP można pobrać i zmodyfikować tutaj lub samodzielnie utworzyć nowy plik.
Plik szablonu możesz zmodyfikować w dowolnym edytorze tekstu.
Format szablonu aplikacji
Definicje szablonów aplikacji są zapisane w pliku JSON. Prawidłowe szablony składają się z tablicy i co najmniej jednego elementu szablonu kontenera. Każdy element szablonu kontenera jest obiektem JSON, który obejmuje dowolne obowiązkowe lub opcjonalne pola danych. Format powinien być podobny do poniższego przykładu:
{
“templates”: [
{
// template1
},
{
// template2
},
...
]
}
Format elementu JSON
type
Atrybut |
Opis |
---|---|
Opis |
Typ kontenera (Docker lub LXD) do tego szablonu. |
Ważność |
Wymagane |
Format |
Liczba całkowita |
Akceptowane wartości |
|
title
Atrybut |
Opis |
---|---|
Opis |
Tytuł szablonu. |
Ważność |
Wymagane |
Format |
Ciąg |
Akceptowane wartości |
Dowolny ciąg |
sub_title
Atrybut |
Opis |
---|---|
Opis |
Informacje o wersji szablonu. |
Ważność |
Wymagane |
Format |
Ciąg |
Akceptowane wartości |
Dowolny ciąg |
description
Atrybut |
Opis |
---|---|
Opis |
Opis przeznaczenia szablonu. |
Ważność |
Wymagane |
Format |
Ciąg |
Akceptowane wartości |
Dowolny ciąg |
logo
Atrybut |
Opis |
---|---|
Opis |
Lokalizacja logo szablonu. |
Ważność |
Opcjonalne |
Format |
Ciąg |
Akceptowane wartości |
Dowolny prawidłowy adres URL lub ścieżka zawierająca relację do domeny sieciowej, w której jest hostowany niestandardowy szablon aplikacji. |
location
Atrybut |
Opis |
---|---|
Opis |
Adres URL szablonu. Może prowadzić do strony zawierającej wprowadzenie do szablonu. |
Ważność |
Opcjonalne |
Format |
Ciąg |
Akceptowane wartości |
Dowolny prawidłowy adres URL |
platform
Atrybut |
Opis |
---|---|
Opis |
Obsługiwana platforma. Musi zawierać prawidłową wartość. |
Ważność |
Wymagane |
Format |
Ciąg |
Akceptowane wartości |
|
Przykład |
|
image
Atrybut |
Opis |
---|---|
Opis |
Obraz powiązany z szablonem. |
Ważność |
Wymagane |
Format |
Ciąg |
Akceptowane wartości |
Dowolny prawidłowy obraz |
Przykład |
|
command
Atrybut |
Opis |
---|---|
Opis |
Polecenie uruchamiane w kontenerze Docker. Jeśli nie zostanie podane, zostanie użyte domyślne polecenie określone w pliku Dockerfile. |
Ważność |
Opcjonalne |
Format |
Ciąg |
Akceptowane wartości |
Dowolny ciąg |
Przykład |
|
entrypoint
Atrybut |
Opis |
---|---|
Opis |
Punkt wejścia umożliwiający uruchomienie kontenera Docker. Jeśli nie zostanie podany, zostanie użyty domyślny punkt wejścia określony w pliku Dockerfile. |
Ważność |
Opcjonalne |
Format |
Ciąg |
Akceptowane wartości |
Dowolny ciąg |
Przykład |
|
env
Atrybut |
Opis |
---|---|
Opis |
Tablica JSON z opisem zmiennych środowiskowych wymaganych przez szablon. Poszczególne elementy tablicy muszą być prawidłowymi obiektami JSON. |
Ważność |
Opcjonalne |
Format |
Tablica |
Akceptowane wartości |
Prawidłowa tablica JSON |
Format tablicy |
|
Przykład |
|
labels
Atrybut |
Opis |
---|---|
Opis |
Tablica JSON z opisem etykiet skojarzonych z szablonem. Poszczególne elementy tablicy muszą być prawidłowymi obiektami JSON. |
Ważność |
Opcjonalne |
Format |
Tablica |
Akceptowane wartości |
Prawidłowa tablica JSON |
Format tablicy |
|
Przykład |
|
volumes
Atrybut |
Opis |
---|---|
Opis |
Tablica JSON z opisem woluminów skojarzonych z szablonem. Poszczególne elementy tablicy muszą być prawidłowymi obiektami JSON z wymaganą właściwością kontenera. |
Ważność |
Opcjonalne |
Format |
Tablica |
Akceptowane wartości |
Prawidłowa tablica JSON |
Format tablicy |
|
Przykład |
|
ports
Atrybut |
Opis |
---|---|
Opis |
Tablica JSON z opisem portów udostępnianych przez szablon. Poszczególne elementy tablicy muszą być prawidłowymi ciągami JSON określającymi numer portu w kontenerze oraz protokół. Opcjonalnie można dodać prefiks zawierający numer portu i dwukropek (na przykład 8080:) w celu zdefiniowania mapowanego portu na hoście. Jeśli port hosta nie zostanie podany, host Docker automatycznie przypisze port podczas uruchamiania kontenera. |
Ważność |
Opcjonalne |
Format |
Tablica |
Akceptowane wartości |
Prawidłowa tablica JSON |
Przykład |
|
hostname
Atrybut |
Opis |
---|---|
Opis |
Nazwa hosta kontenera. Ułatwia identyfikację kontenera. |
Ważność |
Opcjonalne |
Format |
Ciąg |
Akceptowane wartości |
Dowolny ciąg |
Przykład |
|
restart_policy
Atrybut |
Opis |
---|---|
Opis |
Zasady ponownego uruchamiania skojarzone z kontenerem Docker. Jeśli nie zostaną podane, wartość domyślna tounless-stopped. |
Ważność |
Opcjonalne |
Format |
Ciąg |
Akceptowane wartości |
|
Przykład |
|
auto_start_policy
Atrybut |
Opis |
---|---|
Opis |
Zasady automatycznego uruchamiania skojarzone z kontenerem LXD. Jeśli nie zostaną podane, wartość domyślna toretain. |
Ważność |
Opcjonalne |
Format |
Ciąg |
Akceptowane wartości |
|
Przykład |
|
interactive
Atrybut |
Opis |
---|---|
Opis |
Określa, czy kontener Docker ma być uruchamiany w trybie pierwszego planu. W przypadku niepodania wartość domyślna totrue. |
Ważność |
Opcjonalne |
Format |
Wartość logiczna |
Akceptowane wartości |
|
Przykład |
|
tty
Atrybut |
Opis |
---|---|
Opis |
Określa, czy kontenerowi Docker przypisać proces pseudo-TTY. W przypadku niepodania wartość domyślna totrue. |
Ważność |
Opcjonalne |
Format |
Wartość logiczna |
Akceptowane wartości |
|
Przykład |
|
privileged
Atrybut |
Opis |
---|---|
Opis |
Określa, czy kontener ma być uruchamiany w trybie uprzywilejowanym. W przypadku niepodania wartość domyślna tofalse. |
Ważność |
Opcjonalne |
Format |
Wartość logiczna |
Akceptowane wartości |
|
Przykład |
|
Hostowanie niestandardowego szablonu aplikacji w kontenerze NGINX
Następnie należy udostępnić niestandardowy szablon aplikacji dla aplikacji Container Station. W tym temacie wyjaśniono proces hostowania pliku szablonu w kontenerze NGINX, który jest także uruchomiony w aplikacji Container Station.
Ewentualnie można też hostować plik szablonu aplikacji na serwerze WWW QNAP. Zobacz Hostowanie niestandardowego szablonu aplikacji przy użyciu serwera WWW QNAP.
Po zaktualizowaniu pliku JSON niestandardowych szablonów aplikacji musisz ponownie uruchomić kontener NGINX, aby odzwierciedlić zmiany w kontenerze.
Plik szablonu aplikacji stanie się dostępny do użycia.
Możesz sprawdzić, czy plik szablonu aplikacji jest dostępny, wprowadzając adres http://HOST_IP_ADDRESS:PUBLISHED_HOST_PORT/TEMPLATE_FILENAME w przeglądarce internetowej. Przykład: http://192.168.1.1:30080/my-templates.json.
Hostowanie niestandardowego szablonu aplikacji przy użyciu serwera WWW QNAP
Następnie należy udostępnić niestandardowy szablon aplikacji dla aplikacji Container Station. W tym temacie wyjaśniono proces hostowania pliku szablonu na serwerze WWW QNAP.
Ewentualnie możesz też hostować plik szablonu aplikacji przy użyciu kontenera NGINX bezpośrednio w aplikacji Container Station. Zobacz Hostowanie niestandardowego szablonu aplikacji w kontenerze NGINX.
- Włącz serwer WWW QTS.
- Przekaż plik niestandardowego szablonu aplikacji.
Plik szablonu aplikacji stanie się dostępny do użycia.
Możesz sprawdzić, czy plik szablonu aplikacji jest dostępny, wprowadzając adres http://HOST_IP_ADDRESS:WEB_SERVER_PORT/TEMPLATE_FILENAME w przeglądarce internetowej. Przykład: http://192.168.1.1:80/my-templates.json.
Dodawanie niestandardowego szablonu aplikacji do aplikacji Container Station
Następnym krokiem jest dodanie pliku niestandardowego szablonu aplikacji do aplikacji Container Station. Dzięki temu lista aplikacji stanie się dostępna w aplikacji Container Station.
Aplikacja Container Station zapisze niestandardowy szablon aplikacji.
Wdrażanie niestandardowego szablonu aplikacji
Ostatnim krokiem jest wdrożenie kontenera z pliku niestandardowego szablonu aplikacji dodanego w poprzednim kroku.
Zostanie otwarty kreator Wdróż kontener. Zobacz Tworzenie kontenera Docker.