Comment configurer et déployer des modèles d'applications personnalisés dans Container Station 3 ?
Les modèles d'application Container Station vous permettent de déployer des conteneurs préconfigurés dans votre environnement QNAP. Par défaut, Container Station fournit une collection de modèles vérifiés par QNAP, mais vous pouvez ajouter des modèles d'application personnalisés supplémentaires pour répondre à vos besoins spécifiques. Vous pouvez héberger ces modèles d'applications personnalisées directement sur votre appareil QNAP ou sur un serveur Web externe.
Ce didacticiel explique deux méthodes d'hébergement de modèles d'application personnalisés sur votre appareil QNAP et comment configurer Container Station pour accéder à ces modèles d'application personnalisés.
- Création d'un fichier de modèle d'application personnalisé
- Hébergement d'un modèle d'application personnalisé dans un conteneur NGINX
- Hébergement d'un modèle d'application personnalisé avec le serveur Web QNAP
- Ajout d'un modèle d'application personnalisé à Container Station
- Déploiement d'un modèle d'application personnalisé
Création d'un fichier de modèle d'application personnalisé
La première étape consiste à créer un fichier de modèle d'application personnalisé. Par défaut, Container Station fournit une liste de conteneurs vérifiés pour fonctionner correctement avec votre appareil QNAP. Vous pouvez télécharger et modifier les modèles vérifiés par QNAP ici, ou créer vous-même un nouveau fichier.
Vous pouvez modifier le fichier modèle dans n'importe quel éditeur de texte.
Format du modèle d'application
Les définitions de modèle d'application sont écrites en JSON. Les modèles valides consistent en un tableau et un ou plusieurs éléments de modèle de conteneur. Chaque élément de modèle de conteneur est un objet JSON qui inclut tous les champs de données obligatoires ou facultatifs. Le format doit ressembler à l'exemple suivant :
{
“templates”: [
{
// template1
},
{
// template2
},
...
]
}
Format d'élément JSON
type
|
Attribut |
Description |
|---|---|
|
Description |
Le type de conteneur (Docker ou LXD) pour ce modèle. |
|
Importance |
Champs obligatoires |
|
Format |
Entier |
|
Valeurs acceptées |
|
titre
|
Attribut |
Description |
|---|---|
|
Description |
Le titre du modèle. |
|
Importance |
Champs obligatoires |
|
Format |
Chaîne |
|
Valeurs acceptées |
Toute valeur de chaîne |
sub_title
|
Attribut |
Description |
|---|---|
|
Description |
Informations sur la version du modèle. |
|
Importance |
Champs obligatoires |
|
Format |
Chaîne |
|
Valeurs acceptées |
Toute valeur de chaîne |
description
|
Attribut |
Description |
|---|---|
|
Description |
Une description utilisée pour fournir des informations sur le modèle. |
|
Importance |
Champs obligatoires |
|
Format |
Chaîne |
|
Valeurs acceptées |
Toute valeur de chaîne |
logo
|
Attribut |
Description |
|---|---|
|
Description |
L'emplacement d'un logo pour le modèle. |
|
Importance |
Facultatif |
|
Format |
Chaîne |
|
Valeurs acceptées |
Toute URL ou chemin valide relatif au domaine du réseau où le modèle d'application personnalisée est hébergé. |
emplacement
|
Attribut |
Description |
|---|---|
|
Description |
L'URL du modèle. Il peut s'agir d'une page Web d'introduction pour le modèle. |
|
Importance |
Facultatif |
|
Format |
Chaîne |
|
Valeurs acceptées |
Toute URL valide |
plate-forme
|
Attribut |
Description |
|---|---|
|
Description |
La plate-forme prise en charge. Doit contenir une valeur valide. |
|
Importance |
Champs obligatoires |
|
Format |
Chaîne |
|
Valeurs acceptées |
|
|
Exemple |
|
image
|
Attribut |
Description |
|---|---|
|
Description |
L'image associée à un modèle. |
|
Importance |
Champs obligatoires |
|
Format |
Chaîne |
|
Valeurs acceptées |
Toute image valide |
|
Exemple |
|
commande
|
Attribut |
Description |
|---|---|
|
Description |
La commande à exécuter dans le conteneur Docker. Si elle n'est pas définie, le conteneur utilise la commande par défaut spécifiée dans le Dockerfile. |
|
Importance |
Facultatif |
|
Format |
Chaîne |
|
Valeurs acceptées |
Toute valeur de chaîne |
|
Exemple |
|
point d'entrée
|
Attribut |
Description |
|---|---|
|
Description |
Le point d'entrée pour démarrer le conteneur Docker. S'il n'est pas défini, le conteneur utilise le point d'entrée par défaut spécifié dans le Dockerfile. |
|
Importance |
Facultatif |
|
Format |
Chaîne |
|
Valeurs acceptées |
Toute valeur de chaîne |
|
Exemple |
|
env
|
Attribut |
Description |
|---|---|
|
Description |
Un tableau JSON décrivant les variables d'environnement requises par un modèle. Chaque élément du tableau doit être un objet JSON valide. |
|
Importance |
Facultatif |
|
Format |
Tableau |
|
Valeurs acceptées |
Un tableau JSON valide |
|
Format de tableau |
|
|
Exemple |
|
étiquettes
|
Attribut |
Description |
|---|---|
|
Description |
Un tableau JSON décrivant les étiquettes associées à un modèle. Chaque élément du tableau doit être un objet JSON valide. |
|
Importance |
Facultatif |
|
Format |
Tableau |
|
Valeurs acceptées |
Un tableau JSON valide |
|
Format de tableau |
|
|
Exemple |
|
volumes
|
Attribut |
Description |
|---|---|
|
Description |
Un tableau JSON décrivant les volumes associés à un modèle. Chaque élément du tableau doit être un objet JSON valide avec une propriété de conteneur requise. |
|
Importance |
Facultatif |
|
Format |
Tableau |
|
Valeurs acceptées |
Un tableau JSON valide |
|
Format de tableau |
|
|
Exemple |
|
ports
|
Attribut |
Description |
|---|---|
|
Description |
Un tableau JSON décrivant les ports exposés par un modèle. Chaque élément du tableau doit être une chaîne JSON valide spécifiant le numéro de port dans le conteneur, ainsi que le protocole. Il peut éventuellement être précédé d'un numéro de port et de deux-points (par exemple 8080 :) pour définir le port mappé sur l'hôte. Si le port hôte n'est pas spécifié, l'hôte Docker attribue automatiquement un port au démarrage du conteneur. |
|
Importance |
Facultatif |
|
Format |
Tableau |
|
Valeurs acceptées |
Un tableau JSON valide |
|
Exemple |
|
nom d’hôte
|
Attribut |
Description |
|---|---|
|
Description |
Le nom d'hôte du conteneur. Peut aider à identifier facilement le conteneur. |
|
Importance |
Facultatif |
|
Format |
Chaîne |
|
Valeurs acceptées |
Toute valeur de chaîne |
|
Exemple |
|
restart_policy
|
Attribut |
Description |
|---|---|
|
Description |
La stratégie de redémarrage associée au conteneur Docker. Si elle n'est pas spécifiée, cette valeur par défaut estsauf arrêt. |
|
Importance |
Facultatif |
|
Format |
Chaîne |
|
Valeurs acceptées |
|
|
Exemple |
|
auto_start_policy
|
Attribut |
Description |
|---|---|
|
Description |
La stratégie de démarrage automatique associée au conteneur LXD. Si elle n'est pas spécifiée, cette valeur par défaut estconserver. |
|
Importance |
Facultatif |
|
Format |
Chaîne |
|
Valeurs acceptées |
|
|
Exemple |
|
interactif
|
Attribut |
Description |
|---|---|
|
Description |
Contrôle si le conteneur Docker doit démarrer en mode premier plan. Si elle n'est pas spécifiée, la valeur par défaut estvrai. |
|
Importance |
Facultatif |
|
Format |
Booléen |
|
Valeurs acceptées |
|
|
Exemple |
|
tty
|
Attribut |
Description |
|---|---|
|
Description |
Contrôle si le conteneur Docker doit se voir attribuer un pseudo-TTY. Si non spécifiée, la valeur par défaut estvrai. |
|
Importance |
Facultatif |
|
Format |
Booléen |
|
Valeurs acceptées |
|
|
Exemple |
|
privilégié
|
Attribut |
Description |
|---|---|
|
Description |
Contrôle si le conteneur doit démarrer en mode premier privilégié. Si non spécifiée, la valeur par défaut estfaux. |
|
Importance |
Facultatif |
|
Format |
Booléen |
|
Valeurs acceptées |
|
|
Exemple |
|
Hébergement d'un modèle d'application personnalisé dans un conteneur NGINX
Ensuite, vous devrez rendre le modèle d'application personnalisé disponible pour Container Station. Cette rubrique explique le processus d'hébergement du fichier de modèle avec un conteneur NGINX s'exécutant également dans Container Station.
Alternativement, vous pouvez également héberger le fichier de modèle d'application dans le serveur Web QNAP. Voir Hébergement d'un modèle d'application personnalisé avec le serveur Web QNAP.
Après avoir mis à jour le fichier JSON des modèles d'application personnalisés, vous devez redémarrer le conteneur NGINX pour que les modifications soient reflétées dans le conteneur.
Le fichier de modèle d'application devient disponible pour utilisation.
Vous pouvez vérifier que le fichier de modèle d'application est accessible en saisissant http://HOST_IP_ADDRESS:PUBLISHED_HOST_PORT/TEMPLATE_FILENAME dans le navigateur Web. Par exemple : http://192.168.1.1:30080/my-templates.json.
Hébergement d'un modèle d'application personnalisé avec le serveur Web QNAP
Ensuite, vous devrez rendre le modèle d'application personnalisé disponible pour Container Station. Cette rubrique explique le processus d'hébergement du fichier modèle avec le serveur Web QNAP.
Alternativement, vous pouvez également héberger le fichier de modèle d'application avec un conteneur NGINX directement dans Container Station. Voir Hébergement d'un modèle d'application personnalisé dans un conteneur NGINX.
- Activez le serveur Web QTS.
- Téléversez le fichier du modèle d'application personnalisé.
Le fichier de modèle d'application devient disponible pour utilisation.
Vous pouvez vérifier que le fichier de modèle d'application est accessible en saisissant http://HOST_IP_ADDRESS:WEB_SERVER_PORT/TEMPLATE_FILENAME dans le navigateur Web. Par exemple : http://192.168.1.1:80/my-templates.json.
Ajout d'un modèle d'application personnalisé à Container Station
L'étape suivante consiste à ajouter le fichier de modèle d'application personnalisée à Container Station. Cela rend la liste des applications disponibles dans Container Station.
Container Station enregistre le modèle d'application personnalisé.
Déploiement d'un modèle d'application personnalisé
La dernière étape consiste à déployer un conteneur à partir du fichier de modèle d'application personnalisé que vous avez ajouté à l'étape précédente.
L'assistant Déployer un conteneur s'ouvre. Voir Créer un conteneur Docker.



.



