Podążaj za instrukcjami w poniższym filmie, aby zobaczyć, jak zainstalować naszą stronę jako aplikację internetową na ekranie głównym swojego urządzenia.
Informacja: Ta funkcja może nie być dostępna w niektórych przeglądarkach.
Używasz przestarzałej przeglądarki. Może ona nie wyświetlać poprawnie tej lub innych stron internetowych. Powinieneś zaktualizować swoją przeglądarkę lub użyć alternatywnej przeglądarki.
Szablony aplikacji w Container Station umożliwiają wdrażanie wstępnie skonfigurowanych kontenerów w środowisku QNAP. Domyślnie Container Station udostępnia kolekcję szablonów zweryfikowanych przez QNAP (QNAP-Verified Templates), ale możesz dodawać własne niestandardowe szablony aplikacji, aby spełnić swoje specyficzne potrzeby. Niestandardowe szablony aplikacji możesz hostować bezpośrednio na urządzeniu QNAP lub na zewnętrznym serwerze WWW.
Ten samouczek opisuje dwie metody hostowania niestandardowych szablonów aplikacji na urządzeniu QNAP oraz sposób konfigurowania Container Station w celu uzyskania dostępu do tych niestandardowych szablonów aplikacji.
Pierwszym krokiem jest utworzenie pliku niestandardowego szablonu aplikacji. Domyślnie Container Station udostępnia listę kontenerów, które zostały zweryfikowane pod kątem poprawnego działania z urządzeniem QNAP. Możesz pobrać i zmodyfikować szablony zweryfikowane przez QNAP (QNAP-Verified Templates) tutaj lub samodzielnie utworzyć nowy plik.
Uwaga:
Plik szablonu można modyfikować w dowolnym edytorze tekstu.
Format szablonu aplikacji
Definicje szablonów aplikacji są zapisywane 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 jest obiektem JSON zawierającym obowiązkowe lub opcjonalne pola danych. Format powinien być podobny do poniższego przykładu:
Opis służący do przekazywania informacji o szablonie.
Ważność
Wymagany
Format
Ciąg znaków
Akceptowane wartości
Dowolny ciąg znaków
logo
Atrybut
Opis
Opis
Lokalizacja logo szablonu.
Ważność
Opcjonalny
Format
Ciąg znaków
Akceptowane wartości
Dowolny prawidłowy adres URL lub ścieżka względna w stosunku do domeny sieciowej, na której hostowany jest niestandardowy szablon aplikacji.
location
Atrybut
Opis
Opis
Adres URL szablonu. Może to być strona internetowa z informacjami o szablonie.
Ważność
Opcjonalny
Format
Ciąg znaków
Akceptowane wartości
Dowolny prawidłowy adres URL
platform
Atrybut
Opis
Opis
Obsługiwana platforma. Musi zawierać prawidłową wartość.
Ważność
Wymagany
Format
Ciąg znaków
Akceptowane wartości
linux: Każda platforma
linux/amd64: 64-bitowy x86
linux/arm64: 64-bitowy ARM
linux/arm: 32-bitowy ARM
Przykład
Kod:
{
"platform": "linux/amd64"
}
image
Atrybut
Opis
Opis
Obraz skojarzony z szablonem.
Ważność
Wymagany
Format
Ciąg znaków
Akceptowane wartości
Dowolny prawidłowy obraz
Przykład
Kod:
{
"image": "nginx:latest"
}
command
Atrybut
Opis
Opis
Polecenie do uruchomienia w kontenerze Docker. Jeśli nie zostanie określone, kontener użyje domyślnego polecenia zdefiniowanego w pliku Dockerfile.
Ważność
Opcjonalny
Format
Ciąg znaków
Akceptowane wartości
Dowolny ciąg znaków
Przykład
Kod:
{
"command": "nginx -g 'daemon off;'"
}
entrypoint
Atrybut
Opis
Opis
Punkt wejścia do uruchomienia kontenera Docker. Jeśli nie zostanie określony, kontener użyje domyślnego punktu wejścia zdefiniowanego w pliku Dockerfile.
Ważność
Opcjonalny
Format
Ciąg znaków
Akceptowane wartości
Dowolny ciąg 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 tablicy musi być prawidłowym obiektem JSON.
Ważność
Opcjonalny
Format
Tablica
Akceptowane wartości
Prawidłowa tablica JSON
Format tablicy
name: (Wymagany) Nazwa zmiennej środowiskowej obsługiwanej w obrazie kontenera.
Tablica JSON opisująca porty udostępniane przez szablon. Każdy element tablicy musi być prawidłowym ciągiem JSON określającym numer portu w kontenerze oraz protokół. Opcjonalnie można poprzedzić go numerem portu i dwukropkiem (na przykład 8080, aby zdefiniować port mapowany na hoście. Jeśli port hosta nie zostanie określony, host Docker automatycznie przypisuje port przy uruchamianiu 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 ułatwić identyfikację 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 nie zostanie określona, wartość domyślna to unless-stopped.
Ważność
Opcjonalne
Format
Ciąg znaków
Akceptowane wartości
no: Nie uruchamiaj kontenera ponownie automatycznie.
on-failure: Uruchom ponownie kontener, jeśli zakończy działanie z powodu błędów, takich jak niezerowy kod wyjścia.
always: Zawsze uruchamiaj ponownie kontener, jeśli zostanie zatrzymany. Jeśli zostanie zatrzymany ręcznie, uruchomi się ponownie tylko po ponownym uruchomieniu aplikacji Container Station lub ręcznym ponownym uruchomieniu kontenera.
unless-stopped: Podobnie jak Always, z tą różnicą, że jeśli kontener zostanie zatrzymany ręcznie, nie uruchomi się ponownie nawet po ponownym uruchomieniu aplikacji Container Station.
Przykład
Kod:
{
"restart_policy": "unless-stopped"
}
auto_start_policy
Atrybut
Opis
Opis
Zasada automatycznego uruchamiania powiązana z kontenerem LXD. Jeśli nie zostanie określona, wartość domyślna to retain.
Ważność
Opcjonalne
Format
Ciąg znaków
Akceptowane wartości
no: Nie uruchamiaj kontenera ponownie automatycznie.
always: Zawsze uruchamiaj ponownie kontener, jeśli zostanie zatrzymany. Jeśli zostanie zatrzymany ręcznie, uruchomi się ponownie tylko po ponownym uruchomieniu aplikacji Container Station lub ręcznym ponownym uruchomieniu kontenera.
retain: Podobnie jak Always, z tą różnicą, że jeśli kontener zostanie zatrzymany ręcznie, nie uruchomi się ponownie nawet po ponownym uruchomieniu aplikacji Container Station.
Przykład
Kod:
{
"auto_start_policy": "retain"
}
interactive
Atrybut
Opis
Opis
Określa, czy kontener Docker powinien być uruchamiany w trybie pierwszoplanowym. Jeśli nie zostanie określone, wartość domyślna to true.
Ważność
Opcjonalne
Format
Wartość logiczna
Akceptowane wartości
true: Uruchom kontener Docker w trybie pierwszoplanowym.
false: Uruchamia kontener w trybie odłączonym.
Przykład
Kod:
{
"interactive": false
}
tty
Atrybut
Opis
Opis
Określa, czy kontenerowi Docker powinien zostać przydzielony pseudo-TTY. Jeśli nie zostanie określone, wartość domyślna to true.
Ważność
Opcjonalne
Format
Wartość logiczna
Akceptowane wartości
true: Przydziela pseudo-TTY do kontenera Docker.
false: Nie przydziela pseudo-TTY do kontenera Docker.
Przykład
Kod:
{
"tty": false
}
privileged
Atrybut
Opis
Opis
Określa, czy kontener powinien być uruchamiany w trybie uprzywilejowanym. Jeśli nie zostanie określone, 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.
Przykład
Kod:
{
"privileged": true
}
Hostowanie niestandardowego szablonu aplikacji w kontenerze NGINX
Następnie należy udostępnić niestandardowy szablon aplikacji w aplikacji Container Station. W tym temacie opisano proces hostowania pliku szablonu przy użyciu kontenera NGINX uruchomionego również w aplikacji Container Station.
Alternatywnie można hostować plik szablonu aplikacji na serwerze WWW QNAP. Zobacz Hostowanie niestandardowego szablonu aplikacji przy użyciu serwera WWW QNAP.
Ważne:
Po zaktualizowaniu pliku JSON z niestandardowymi szablonami aplikacji należy uruchomić ponownie kontener NGINX, aby zmiany zostały odzwierciedlone w kontenerze.
Zanotuj lokalizację pliku szablonu do późniejszego użycia.
Otwórz aplikację Container Station.
Na górnym panelu kliknij strzałkę obok opcji Eksploruj.
Wybierz opcję Utwórz kontener.
Zostanie otwarte okno Utwórz kontener.
Wybierz obraz.
Ustawienie
Działanie
Tryb
Wybierz Tryb podstawowy.
Rejestr
Wybierz Docker Hub.
Obraz
Wprowadź nginx.
Kliknij Dalej.
Opcjonalnie: Skonfiguruj ustawienia kontenera.
Ustawienie
Działanie
Nazwa
Wprowadź nazwę kontenera. Na przykład: nginx-my-template.
Zasada automatycznego uruchamiania
Wybierz opcję Jeśli nie zatrzymano.
Ta opcja spowoduje, że kontener będzie zawsze uruchamiany ponownie, chyba że zostanie ręcznie zatrzymany przez użytkownika.
Konfiguracja sieci
Skonfiguruj ustawienia odpowiednio do środowiska sieciowego.
W tym samouczku używamy domyślnego trybu sieci i kierujemy 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 aplikacji Container Station.
Opcjonalnie: Zmodyfikuj ustawienia zaawansowane.
Kliknij Ustawienia zaawansowane.
Pojawi się okno Ustawienia zaawansowane.
Przejdź do karty Pamięć masowa.
Kliknij strzałkę obok opcji Dodaj wolumin.
Wybierz Bind Mount Host Path.
Zostanie dodany nowy wiersz pamięci masowej.
Kliknij
.
Otworzy się okno Wybierz ścieżkę hosta.
Znajdź i wybierz wcześniej przesłany plik szablonu aplikacji.
Kliknij Zastosuj.
W polu Kontener 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 Zastosuj.
Container Station zapisuje ustawienia pamięci masowej.
Kliknij Dalej.
Przejrzyj ustawienia kontenera, a następnie kliknij Zakończ.
Plik szablonu aplikacji będzie dostępny do użycia.
Uwaga:
Możesz sprawdzić dostępność pliku szablonu aplikacji, wpisując w przeglądarce internetowej adres http://HOST_IP_ADDRESSUBLISHED_HOST_PORT/TEMPLATE_FILENAME. Na przykład: http://192.168.1.1:30080/my-templates.json.
Hostowanie niestandardowego szablonu aplikacji przy użyciu serwera WWW QNAP
Następnie musisz udostępnić niestandardowy szablon aplikacji dla Container Station. Ten temat wyjaśnia proces hostowania pliku szablonu przy użyciu serwera WWW QNAP.
Alternatywnie możesz również hostować plik szablonu aplikacji w kontenerze NGINX bezpośrednio w Container Station. Zobacz Hostowanie niestandardowego szablonu aplikacji w kontenerze NGINX.
Przejdź do folderu Web utworzonego dla serwera WWW.
Prześlij plik szablonu aplikacji.
Plik szablonu aplikacji będzie dostępny do użycia.
Uwaga:
Możesz sprawdzić dostępność pliku szablonu aplikacji, wpisując w przeglądarce internetowej adres http://HOST_IP_ADDRESS:WEB_SERVER_PORT/TEMPLATE_FILENAME. 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 będzie dostępna w Container Station.
Uruchom Container Station.
W menu kliknij Preferencje.
Przejdź do karty Szablony aplikacji.
Wybierz Włącz niestandardowy szablon.
Podaj 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 Zastosuj.
Container Station zapisuje niestandardowy szablon aplikacji.
Wdrażanie niestandardowego szablonu aplikacji
Ostatnim krokiem jest wdrożenie kontenera na podstawie niestandardowego pliku szablonu aplikacji dodanego w poprzednim kroku.
W menu przejdź do Szablonów aplikacji.
Przejdź do karty Szablony niestandardowe.
Zidentyfikuj szablon.
Kliknij Wdróż.
Otworzy się kreator Wdrożenie kontenera. Zobacz Tworzenie kontenera Docker.