Szablony aplikacji Container Station umożliwiają wdrażanie wstępnie skonfigurowanych kontenerów w środowisku QNAP. Domyślnie Container Station udostępnia kolekcję QNAP-Verified Templates, ale możesz dodać dodatkowe niestandardowe szablony aplikacji, aby spełnić Twoje specyficzne potrzeby. Możesz hostować te niestandardowe szablony aplikacji bezpośrednio na urządzeniu QNAP lub na zewnętrznym serwerze WWW.
Ten samouczek wyjaśnia dwie metody hostowania niestandardowych szablonów aplikacji na urządzeniu QNAP oraz jak skonfigurować Container Station, aby uzyskać dostęp do tych niestandardowych szablonów aplikacji.
Tworzenie pliku niestandardowego szablonu aplikacji
Pierwszym krokiem jest utworzenie pliku niestandardowego szablonu aplikacji. Domyślnie Container Station udostępnia listę kontenerów, które są zweryfikowane pod kątem prawidłowego działania z urządzeniem QNAP. Możesz pobrać i zmodyfikować QNAP-Verified Templates tutaj lub samodzielnie utworzyć nowy plik.
Uwaga:
Możesz modyfikować plik szablonu w dowolnym edytorze tekstu.
Format szablonu aplikacji
Definicje szablonów aplikacji są zapisane w formacie JSON. Prawidłowe szablony składają się z tablicy oraz jednego lub więcej elementów szablonu kontenera. Każdy element szablonu kontenera to obiekt JSON, który zawiera wszystkie obowiązkowe lub opcjonalne pola danych. Format powinien być podobny do poniższego przykładu:
Format elementu JSON
type
Atrybut | Opis
Opis | Typ kontenera (Docker lub LXD) dla tego szablonu.
Ważność | Wymagane
Format | Liczba całkowita
Dopuszczalne wartości |
title
Atrybut | Opis
Opis | Tytuł szablonu.
Ważność | Wymagane
Format | Ciąg znaków
Dopuszczalne wartości | Dowolna wartość ciągu znaków
sub_title
Atrybut | Opis
Opis | Informacje o wersji szablonu.
Ważność | Wymagane
Format | Ciąg znaków
Dopuszczalne wartości | Dowolna wartość ciągu znaków
description
Atrybut | Opis
Opis | Opis używany do dostarczania informacji o szablonie.
Ważność | Wymagane
Format | Ciąg znaków
Dopuszczalne wartości | Dowolna wartość ciągu znaków
logo
Atrybut | Opis
Opis | Lokalizacja logo dla szablonu.
Ważność | Opcjonalne
Format | Ciąg znaków
Dopuszczalne wartości | Dowolny prawidłowy adres URL lub ścieżka względna do domeny sieciowej, w której hostowany jest niestandardowy szablon aplikacji.
location
Atrybut | Opis
Opis | Adres URL szablonu. Może to być strona internetowa wprowadzająca do szablonu.
Ważność | Opcjonalne
Format | Ciąg znaków
Dopuszczalne 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 znaków
Dopuszczalne wartości |
image
Atrybut | Opis
Opis | Obraz skojarzony z szablonem.
Ważność | Wymagane
Format | Ciąg znaków
Dopuszczalne wartości | Dowolny prawidłowy obraz
Przykład |
command
Atrybut | Opis
Opis | Polecenie do uruchomienia w kontenerze Docker. Jeśli nieokreślone, kontener używa domyślnego polecenia określonego w Dockerfile.
Ważność | Opcjonalne
Format | Ciąg znaków
Dopuszczalne wartości | Dowolna wartość ciągu znaków
Przykład |
entrypoint
Atrybut | Opis
Opis | Punkt wejścia do uruchomienia kontenera Docker. Jeśli nieokreślony, kontener używa domyślnego punktu wejścia określonego w Dockerfile.
Ważność | Opcjonalne
Format | Ciąg znaków
Dopuszczalne wartości | Dowolna wartość ciągu znaków
Przykład |
env
Atrybut | Opis
Opis | Tablica JSON opisująca zmienne środowiskowe wymagane przez szablon. Każdy element w tablicy musi być prawidłowym obiektem JSON.
Ważność | Opcjonalne
Format | Tablica
Dopuszczalne wartości | Prawidłowa tablica JSON
Format tablicy |
labels
Atrybut | Opis
Opis | Tablica JSON opisująca etykiety skojarzone z szablonem. Każdy element w tablicy musi być prawidłowym obiektem JSON.
Ważność | Opcjonalne
Format | Tablica
Dopuszczalne wartości | Prawidłowa tablica JSON
Format tablicy |
volumes
Atrybut | Opis
Opis | Tablica JSON opisująca woluminy powiązane z szablonem. Każdy element w tablicy musi być prawidłowym obiektem JSON z wymaganą właściwością `container`.
Ważność | Opcjonalne
Format | Tablica
Akceptowane wartości | Prawidłowa tablica JSON
Format tablicy |
ports
Atrybut | Opis
Opis | Tablica JSON opisująca porty udostępniane przez szablon. Każdy element w tablicy musi być prawidłowym ciągiem JSON określającym numer portu w kontenerze, a także protokół. Może być opcjonalnie poprzedzony numerem portu i dwukropkiem (na przykład `8080:`) w celu zdefiniowania portu mapowanego na hoście. Jeśli port hosta nie jest określony, host Docker automatycznie przypisuje port po uruchomieniu kontenera.
Ważność | Opcjonalne
Format | Tablica
Akceptowane wartości | Prawidłowa tablica JSON
Przykład |
hostname
Atrybut | Opis
Opis | Nazwa hosta kontenera. Może pomóc w łatwej identyfikacji kontenera.
Ważność | Opcjonalne
Format | Ciąg znaków
Akceptowane wartości | Dowolna wartość ciągu znaków
Przykład |
restart_policy
Atrybut | Opis
Opis | Zasada ponownego uruchamiania powiązana z kontenerem Docker. Jeśli nieokreślona, wartość domyślna to `unless-stopped`.
Ważność | Opcjonalne
Format | Ciąg znaków
Akceptowane wartości |
auto_start_policy
Atrybut | Opis
Opis | Zasada automatycznego uruchamiania powiązana z kontenerem LXD. Jeśli nieokreślona, wartość domyślna to `retain`.
Ważność | Opcjonalne
Format | Ciąg znaków
Akceptowane wartości |
interactive
Atrybut | Opis
Opis | Określa, czy kontener Docker powinien uruchomić się w trybie pierwszoplanowym. Jeśli nieokreślona, wartość domyślna to `true`.
Ważność | Opcjonalne
Format | Wartość logiczna
Akceptowane wartości |
tty
Atrybut | Opis
Opis | Określa, czy kontener Docker powinien mieć przydzielony pseudo-TTY. Jeśli nieokreślona, wartość domyślna to `true`.
Ważność | Opcjonalne
Format | Wartość logiczna
Akceptowane wartości |
privileged
Atrybut | Opis
Opis | Określa, czy kontener powinien uruchomić się w trybie uprzywilejowanym. Jeśli nieokreślona, wartość domyślna to `false`.
Ważność | Opcjonalne
Format | Wartość logiczna
Akceptowane wartości |
Hostowanie niestandardowego szablonu aplikacji w kontenerze NGINX
Następnie musisz udostępnić niestandardowy szablon aplikacji dla Container Station. Ten temat wyjaśnia proces hostowania pliku szablonu za pomocą kontenera NGINX, który również działa w Container Station.
Alternatywnie, możesz również hostować plik szablonu aplikacji na serwerze QNAP Web Server. Zobacz Hostowanie niestandardowego szablonu aplikacji za pomocą serwera QNAP Web Server[/URL].
Ważne:
Po zaktualizowaniu pliku JSON niestandardowych szablonów aplikacji, musisz ponownie uruchomić kontener NGINX, aby zmiany zostały odzwierciedlone w kontenerze.
Plik szablonu aplikacji staje się dostępny do użytku.
Uwaga:
Możesz sprawdzić, czy plik szablonu aplikacji jest dostępny, wprowadzając http://HOST_IP_ADDRESS
UBLISHED_HOST_PORT/TEMPLATE_FILENAME w przeglądarce internetowej. Na przykład: http://192.168.1.1:30080/my-templates.json.
Hostowanie niestandardowego szablonu aplikacji za pomocą serwera WWW QNAP
Następnie należy udostępnić niestandardowy szablon aplikacji dla `Container Station`. Ten temat wyjaśnia proces hostowania pliku szablonu za pomocą serwera WWW `QNAP`.
Alternatywnie, plik szablonu aplikacji można również hostować za pomocą kontenera `NGINX` bezpośrednio w `Container Station`. Zobacz Hostowanie niestandardowego szablonu aplikacji w kontenerze NGINX[/URL].
Plik szablonu aplikacji staje się dostępny do użytku.
Uwaga:
Możesz sprawdzić, czy plik szablonu aplikacji jest dostępny, wprowadzając http://HOST_IP_ADDRESS:WEB_SERVER_PORT/TEMPLATE_FILENAME w przeglądarce internetowej. Na przykład: http://192.168.1.1:80/my-templates.json.
Dodawanie niestandardowego szablonu aplikacji do Container Station
Następnym krokiem jest dodanie niestandardowego pliku szablonu aplikacji do `Container Station`. Dzięki temu lista aplikacji staje się dostępna w `Container Station`.
`Container Station` zapisuje niestandardowy szablon aplikacji.
Wdrażanie niestandardowego szablonu aplikacji
Ostatnim krokiem jest wdrożenie kontenera z niestandardowego pliku szablonu aplikacji, który dodano w poprzednim kroku.
Otworzy się kreator `Deploy Container`. Zobacz Tworzenie kontenera Docker[/URL].
Ten samouczek wyjaśnia dwie metody hostowania niestandardowych szablonów aplikacji na urządzeniu QNAP oraz jak skonfigurować Container Station, aby uzyskać dostęp do tych niestandardowych szablonów aplikacji.
- Tworzenie pliku niestandardowego szablonu aplikacji[/URL]
- Hostowanie niestandardowego szablonu aplikacji w kontenerze NGINX[/URL]
- Hostowanie niestandardowego szablonu aplikacji za pomocą serwera WWW QNAP[/URL]
- Dodawanie niestandardowego szablonu aplikacji do Container Station[/URL]
- Wdrażanie niestandardowego szablonu aplikacji[/URL]
Tworzenie pliku niestandardowego szablonu aplikacji
Pierwszym krokiem jest utworzenie pliku niestandardowego szablonu aplikacji. Domyślnie Container Station udostępnia listę kontenerów, które są zweryfikowane pod kątem prawidłowego działania z urządzeniem QNAP. Możesz pobrać i zmodyfikować QNAP-Verified Templates tutaj lub samodzielnie utworzyć nowy plik.
Uwaga:
Możesz modyfikować plik szablonu w dowolnym edytorze tekstu.
Format szablonu aplikacji
Definicje szablonów aplikacji są zapisane w formacie JSON. Prawidłowe szablony składają się z tablicy oraz jednego lub więcej elementów szablonu kontenera. Każdy element szablonu kontenera to obiekt JSON, który zawiera wszystkie obowiązkowe lub opcjonalne pola danych. Format powinien być podobny do poniższego przykładu:
Kod:
{
"templates": [
{
// template1
},
{
// template2
},
...
]
}
Format elementu JSON
type
Atrybut | Opis
Opis | Typ kontenera (Docker lub LXD) dla tego szablonu.
Ważność | Wymagane
Format | Liczba całkowita
Dopuszczalne wartości |
- 1: Używane dla kontenerów Docker.
- 10: Używane dla kontenerów LXD.
title
Atrybut | Opis
Opis | Tytuł szablonu.
Ważność | Wymagane
Format | Ciąg znaków
Dopuszczalne wartości | Dowolna wartość ciągu znaków
sub_title
Atrybut | Opis
Opis | Informacje o wersji szablonu.
Ważność | Wymagane
Format | Ciąg znaków
Dopuszczalne wartości | Dowolna wartość ciągu znaków
description
Atrybut | Opis
Opis | Opis używany do dostarczania informacji o szablonie.
Ważność | Wymagane
Format | Ciąg znaków
Dopuszczalne wartości | Dowolna wartość ciągu znaków
logo
Atrybut | Opis
Opis | Lokalizacja logo dla szablonu.
Ważność | Opcjonalne
Format | Ciąg znaków
Dopuszczalne wartości | Dowolny prawidłowy adres URL lub ścieżka względna do domeny sieciowej, w której hostowany jest niestandardowy szablon aplikacji.
location
Atrybut | Opis
Opis | Adres URL szablonu. Może to być strona internetowa wprowadzająca do szablonu.
Ważność | Opcjonalne
Format | Ciąg znaków
Dopuszczalne 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 znaków
Dopuszczalne wartości |
- linux: Każda platforma
- linux/amd64: 64-bitowy x86
- linux/arm64: 64-bitowy ARM
- linux/arm: 32-bitowy ARM
Kod:
{
"platform": "linux/amd64"
}
image
Atrybut | Opis
Opis | Obraz skojarzony z szablonem.
Ważność | Wymagane
Format | Ciąg znaków
Dopuszczalne wartości | Dowolny prawidłowy obraz
Przykład |
Kod:
{
"image": "nginx:latest"
}
command
Atrybut | Opis
Opis | Polecenie do uruchomienia w kontenerze Docker. Jeśli nieokreślone, kontener używa domyślnego polecenia określonego w Dockerfile.
Ważność | Opcjonalne
Format | Ciąg znaków
Dopuszczalne wartości | Dowolna wartość ciągu znaków
Przykład |
Kod:
{
"command": "nginx -g 'daemon off;'"
}
entrypoint
Atrybut | Opis
Opis | Punkt wejścia do uruchomienia kontenera Docker. Jeśli nieokreślony, kontener używa domyślnego punktu wejścia określonego w Dockerfile.
Ważność | Opcjonalne
Format | Ciąg znaków
Dopuszczalne wartości | Dowolna wartość ciągu znaków
Przykład |
Kod:
{
"entrypoint": "/docker-entrypoint.sh"
}
env
Atrybut | Opis
Opis | Tablica JSON opisująca zmienne środowiskowe wymagane przez szablon. Każdy element w tablicy musi być prawidłowym obiektem JSON.
Ważność | Opcjonalne
Format | Tablica
Dopuszczalne wartości | Prawidłowa tablica JSON
Format tablicy |
- name: (Wymagane) Nazwa zmiennej środowiskowej obsługiwanej w obrazie kontenera.
- value: (Wymagane) Wartość przypisana do zmiennej.
Kod:
{
"env": [
{ "name": "ENV_VAR1", "value": "" },
{ "name": "ENV_VAR2", "value": "value2" }
]
}
labels
Atrybut | Opis
Opis | Tablica JSON opisująca etykiety skojarzone z szablonem. Każdy element w tablicy musi być prawidłowym obiektem JSON.
Ważność | Opcjonalne
Format | Tablica
Dopuszczalne wartości | Prawidłowa tablica JSON
Format tablicy |
- name: (Wymagane) Nazwa klucza etykiety.
- value: (Wymagane) Wartość przypisana do klucza.
Kod:
{
"labels": [
{ "name": "com.example.vendor", "value": "Acme Incorporated" },
{ "name": "com.example.label-with-value", "value": "foo" },
{ "name": "version", "value": "1.0" }
]
}
volumes
Atrybut | Opis
Opis | Tablica JSON opisująca woluminy powiązane z szablonem. Każdy element w tablicy musi być prawidłowym obiektem JSON z wymaganą właściwością `container`.
Ważność | Opcjonalne
Format | Tablica
Akceptowane wartości | Prawidłowa tablica JSON
Format tablicy |
- `container`: (Wymagane) Ścieżka kontenera.
- `volume`: (Opcjonalne) Nazwa woluminu Docker.
- `bind`: (Opcjonalne dla kontenerów Docker, Wymagane dla kontenerów LXD) Ścieżka hosta używana jako źródło montowania typu `bind`.
- `readonly`: (Opcjonalne) Jeśli ustawiono na `true`, wolumin jest montowany w trybie tylko do odczytu.
Kod:
{
"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
}
]
}
ports
Atrybut | Opis
Opis | Tablica JSON opisująca porty udostępniane przez szablon. Każdy element w tablicy musi być prawidłowym ciągiem JSON określającym numer portu w kontenerze, a także protokół. Może być opcjonalnie poprzedzony numerem portu i dwukropkiem (na przykład `8080:`) w celu zdefiniowania portu mapowanego na hoście. Jeśli port hosta nie jest określony, host Docker automatycznie przypisuje port po uruchomieniu kontenera.
Ważność | Opcjonalne
Format | Tablica
Akceptowane wartości | Prawidłowa tablica JSON
Przykład |
Kod:
{
"ports": ["8080:80/tcp", "443/tcp", "80/udp"]
}
hostname
Atrybut | Opis
Opis | Nazwa hosta kontenera. Może pomóc w łatwej identyfikacji kontenera.
Ważność | Opcjonalne
Format | Ciąg znaków
Akceptowane wartości | Dowolna wartość ciągu znaków
Przykład |
Kod:
{
"hostname": "myContainerHostName"
}
restart_policy
Atrybut | Opis
Opis | Zasada ponownego uruchamiania powiązana z kontenerem Docker. Jeśli nieokreślona, wartość domyślna to `unless-stopped`.
Ważność | Opcjonalne
Format | Ciąg znaków
Akceptowane wartości |
- `no`: Nie uruchamiaj kontenera automatycznie ponownie.
- `on-failure`: Uruchom kontener ponownie, jeśli zakończy działanie z powodu błędów, takich jak kod wyjścia różny od zera.
- `always`: Zawsze uruchamiaj kontener ponownie, jeśli się zatrzyma. Jeśli zostanie zatrzymany ręcznie, uruchomi się ponownie tylko po ponownym uruchomieniu Container Station lub ręcznym ponownym uruchomieniu kontenera.
- `unless-stopped`: Podobnie jak `always`, z tą różnicą, że gdy kontener zostanie zatrzymany ręcznie, nie uruchomi się ponownie nawet po ponownym uruchomieniu Container Station.
Kod:
{
"restart_policy": "unless-stopped"
}
auto_start_policy
Atrybut | Opis
Opis | Zasada automatycznego uruchamiania powiązana z kontenerem LXD. Jeśli nieokreślona, wartość domyślna to `retain`.
Ważność | Opcjonalne
Format | Ciąg znaków
Akceptowane wartości |
- `no`: Nie uruchamiaj kontenera automatycznie ponownie.
- `always`: Zawsze uruchamiaj kontener ponownie, jeśli się zatrzyma. Jeśli zostanie zatrzymany ręcznie, uruchomi się ponownie tylko po ponownym uruchomieniu Container Station lub ręcznym ponownym uruchomieniu kontenera.
- `retain`: Podobnie jak `always`, z tą różnicą, że gdy kontener zostanie zatrzymany ręcznie, nie uruchomi się ponownie nawet po ponownym uruchomieniu Container Station.
Kod:
{
"auto_start_policy": "retain"
}
interactive
Atrybut | Opis
Opis | Określa, czy kontener Docker powinien uruchomić się w trybie pierwszoplanowym. Jeśli nieokreślona, wartość domyślna to `true`.
Ważność | Opcjonalne
Format | Wartość logiczna
Akceptowane wartości |
- `true`: Uruchom kontener Docker w trybie pierwszoplanowym.
- `false`: Uruchom kontener w trybie odłączonym.
Kod:
{
"interactive": false
}
tty
Atrybut | Opis
Opis | Określa, czy kontener Docker powinien mieć przydzielony pseudo-TTY. Jeśli nieokreślona, wartość domyślna to `true`.
Ważność | Opcjonalne
Format | Wartość logiczna
Akceptowane wartości |
- `true`: Przydziela pseudo-TTY kontenerowi Docker.
- `false`: Nie przydziela pseudo-TTY kontenerowi Docker.
Kod:
{
"tty": false
}
privileged
Atrybut | Opis
Opis | Określa, czy kontener powinien uruchomić się w trybie uprzywilejowanym. Jeśli nieokreślona, wartość domyślna to `false`.
Ważność | Opcjonalne
Format | Wartość logiczna
Akceptowane wartości |
- `true`: Uruchamia kontener w trybie uprzywilejowanym.
- `false`: Nie uruchamia kontenera w trybie uprzywilejowanym.
Kod:
{
"privileged": true
}
Hostowanie niestandardowego szablonu aplikacji w kontenerze NGINX
Następnie musisz udostępnić niestandardowy szablon aplikacji dla Container Station. Ten temat wyjaśnia proces hostowania pliku szablonu za pomocą kontenera NGINX, który również działa w Container Station.
Alternatywnie, możesz również hostować plik szablonu aplikacji na serwerze QNAP Web Server. Zobacz Hostowanie niestandardowego szablonu aplikacji za pomocą serwera QNAP Web Server[/URL].
Ważne:
Po zaktualizowaniu pliku JSON niestandardowych szablonów aplikacji, musisz ponownie uruchomić kontener NGINX, aby zmiany zostały odzwierciedlone w kontenerze.
- Prześlij plik niestandardowego szablonu aplikacji.
- Otwórz File Station.
- Przejdź do folderu na urządzeniu.
- Prześlij plik szablonu aplikacji.
- Zanotuj lokalizację pliku szablonu do późniejszego wykorzystania.
- Otwórz Container Station.
- W górnym panelu kliknij strzałkę obok `Explore`.
- Wybierz `Create Container`.
Otworzy się okno `Create Container`. - Wybierz obraz.
Ustawienie | Akcja
Tryb | Wybierz `Basic Mode`.
Rejestr | Wybierz `Docker Hub`.
Obraz | Wprowadź `nginx`.
- Kliknij `Next`.
- Opcjonalnie: Skonfiguruj ustawienia kontenera.
Ustawienie | Akcja
Nazwa | Wprowadź nazwę kontenera. Na przykład: `nginx-my-template`.
Zasady automatycznego uruchamiania | Wybierz `Unless Stopped`.
Ta opcja spowoduje, że kontener będzie zawsze uruchamiany ponownie, chyba że zostanie ręcznie zatrzymany przez użytkownika.
Konfiguracja sieci | Skonfiguruj ustawienia tak, aby pasowały do środowiska sieciowego.
W tym samouczku używamy trybu sieciowego `Default` i wysyłamy ruch do kontenera przez port `30080` na hoście.
Uwaga:
Jeśli pole `Host` nie zostanie określone, opublikowany port może ulec zmianie po ponownym uruchomieniu kontenera. Może to spowodować, że szablon aplikacji stanie się niedostępny dla `Container Station`.
- Opcjonalnie: Zmodyfikuj ustawienia zaawansowane.
- Kliknij `Advanced Settings`.
Pojawi się okno `Advanced Settings`. - Przejdź do zakładki `Storage`.
- Kliknij strzałkę obok `Add Volume`.
- Wybierz `Bind Mount Host Path`.
Dodano nowy wiersz pamięci masowej. - Kliknij
.
Otworzy się okno `Select Host Path`. - Zlokalizuj i wybierz plik szablonu aplikacji, który przesłano wcześniej.
- Kliknij `Apply`.
- W polu `Container` wprowadź `/usr/share/nginx/html/TEMPLATE_FILENAME`.
Uwaga:
Zastąp `TEMPLATE_FILENAME` nazwą pliku szablonu. Na przykład: `/usr/share/nginx/html/my-templates.json` - Wybierz `RO`.
- Kliknij `Apply`.
`Container Station` zapisuje ustawienia pamięci masowej.
- Kliknij `Advanced Settings`.
- Kliknij `Next`.
- Przejrzyj ustawienia kontenera, a następnie kliknij `Finish`.
Plik szablonu aplikacji staje się dostępny do użytku.
Uwaga:
Możesz sprawdzić, czy plik szablonu aplikacji jest dostępny, wprowadzając http://HOST_IP_ADDRESS
Hostowanie niestandardowego szablonu aplikacji za pomocą serwera WWW QNAP
Następnie należy udostępnić niestandardowy szablon aplikacji dla `Container Station`. Ten temat wyjaśnia proces hostowania pliku szablonu za pomocą serwera WWW `QNAP`.
Alternatywnie, plik szablonu aplikacji można również hostować za pomocą kontenera `NGINX` bezpośrednio w `Container Station`. Zobacz Hostowanie niestandardowego szablonu aplikacji w kontenerze NGINX[/URL].
- Włącz `QTS Web Server`.
- Zaloguj się do systemu jako administrator.
- Przejdź do `Control Panel > Applications > Web Server > Web Server`.
- Wybierz `Enable Web Server`.
- Opcjonalnie: Skonfiguruj ustawienia `Web Server`.
- Kliknij `Apply`.
System włącza serwer WWW
- Prześlij niestandardowy plik szablonu aplikacji.
- Otwórz `File Station`.
- Przejdź do folderu `Web` utworzonego dla serwera WWW.
- Prześlij plik szablonu aplikacji.
Plik szablonu aplikacji staje się dostępny do użytku.
Uwaga:
Możesz sprawdzić, czy plik szablonu aplikacji jest dostępny, wprowadzając http://HOST_IP_ADDRESS:WEB_SERVER_PORT/TEMPLATE_FILENAME w przeglądarce internetowej. Na przykład: http://192.168.1.1:80/my-templates.json.
Dodawanie niestandardowego szablonu aplikacji do Container Station
Następnym krokiem jest dodanie niestandardowego pliku szablonu aplikacji do `Container Station`. Dzięki temu lista aplikacji staje się dostępna w `Container Station`.
- Uruchom `Container Station`.
- W menu kliknij `Preferences`.
- Przejdź do `App Templates`.
- Wybierz `Enable custom template`.
- Określ adres URL niestandardowego szablonu aplikacji.
Uwaga:
W zależności od konfiguracji, adres URL może wymagać podania adresu IP i numeru portu skonfigurowanego serwera WWW. Na przykład: http://192.168.1.1:30080/my-template-file.json.
- Kliknij `Apply`.
`Container Station` zapisuje niestandardowy szablon aplikacji.
Wdrażanie niestandardowego szablonu aplikacji
Ostatnim krokiem jest wdrożenie kontenera z niestandardowego pliku szablonu aplikacji, który dodano w poprzednim kroku.
- W menu przejdź do `App Templates`.
- Przejdź do zakładki `Custom Templates`.
- Zidentyfikuj szablon.
- Kliknij `Deploy`.
Otworzy się kreator `Deploy Container`. Zobacz Tworzenie kontenera Docker[/URL].