Passer au contenu principal

Gestion et personnalisation des conteneurs

Disclaimer

Cette page est écrite pour aider les utilisateurs de tous niveaux à tirer le meilleur parti des conteneurs Docker sur Unraid OS. Les conseils et les meilleures pratiques proviennent de l'équipe d'Unraid, qui veille à ce qu'ils soient adaptés aux besoins des utilisateurs. Cependant, gardez à l'esprit que Docker évolue constamment, donc pour les fonctionnalités les plus récentes, les configurations avancées ou les problèmes de dépannage qui vont au-delà de ce que couvre Unraid, il est toujours bon de consulter la documentation officielle de Docker.

Avant de personnaliser un conteneur Docker dans Unraid, il est utile de comprendre les options de configuration de base. Chaque modèle de conteneur offre une interface conviviale pour configurer le réseau, le stockage et les variables d'environnement, vous permettant d'adapter le comportement du conteneur à vos besoins sans utiliser d'outils en ligne de commande complexes.

Unraid prend en charge plusieurs modes réseau Docker. Le type de réseau que vous choisissez détermine comment votre conteneur communique avec d'autres appareils et conteneurs :

  • Pont (par défaut) : Le conteneur est placé sur un réseau interne Docker. Seuls les ports que vous mappez explicitement seront accessibles depuis votre serveur Unraid ou votre réseau local. C'est l'option la plus sûre et la plus courante pour la plupart des applications.

  • Hôte : Le conteneur partage la pile réseau du serveur Unraid. Il peut utiliser n'importe quel port disponible, mais vous devez vous assurer qu'il n'y a pas de conflit de ports avec d'autres services. Utilisez ce mode uniquement si l'application nécessite un accès réseau direct.

  • Aucun : Le conteneur n'a aucun accès réseau. Utilisez ceci pour des charges de travail isolées qui n'exigent aucune connectivité réseau.

  • Personnalisé (macvlan/ipvlan) : Le conteneur reçoit sa propre adresse IP sur votre réseau local, le faisant apparaître comme un appareil distinct. Cela est utile pour des scénarios avancés mais peut nécessiter une configuration supplémentaire dans votre environnement réseau.

astuce

Le type de réseau par défaut spécifié dans le modèle de conteneur est recommandé pour la plupart des utilisateurs.

Wi-Fi et Limitations du réseau Wi-Fi et Docker

Docker a une limitation qui l'empêche de participer à deux réseaux partageant le même sous-réseau. Si vous changez entre filaire et sans fil, vous devrez redémarrer Docker et reconfigurer tous les conteneurs existants pour utiliser la nouvelle interface. Ce changement de configuration réseau nécessite une reconfiguration des conteneurs.

Création et démarrage des conteneurs

Une fois que vous avez configuré le réseau de votre conteneur, les mappages de volumes, les mappages de ports et les variables d'environnement, vous êtes prêt à créer et lancer votre conteneur Docker. Cette section vous guidera à travers le processus de création, expliquera comment gérer l'ordre de démarrage et les dépendances, et fournira des conseils pour une personnalisation avancée du démarrage.

Création d'un conteneur

Après avoir examiné vos paramètres de configuration dans le modèle de conteneur :

  1. Cliquez sur Créer pour commencer à télécharger et configurer le conteneur.
    • Évitez de fermer votre fenêtre de navigateur ou de naviguer ailleurs jusqu'à ce que le processus soit terminé.
    • Le téléchargement initial pour un nouveau dépôt peut prendre plus de temps que les téléchargements ultérieurs.
  2. Une fois le processus terminé, cliquez sur Terminé pour revenir à la page Docker, où vous pourrez gérer ou ajouter d'autres conteneurs.

Planification de votre séquence de démarrage

Certains conteneurs dépendent d'autres pour fonctionner correctement. Par exemple, une application peut avoir besoin d'un conteneur de base de données en premier, ou un service peut nécessiter un conteneur VPN actif avant de démarrer.

Plan votre démarrage
  • Identifiez les conteneurs qui fournissent des services essentiels (comme les bases de données, les VPNs ou les passerelles de stockage).
  • Assurez-vous que les conteneurs dépendants ne sont démarrés qu'après que leurs prérequis aient été lancés et prêts.
  • Consultez la documentation pour chaque conteneur afin de comprendre les exigences spécifiques de démarrage.

Démarrage avancé des conteneurs

Unraid vous offre un contrôle flexible sur les conteneurs qui démarrent automatiquement et dans quel ordre. Ceci est particulièrement utile si vous avez des conteneurs qui dépendent d'autres (comme un service de base de données ou un service VPN).

Pour garantir qu'un conteneur démarre automatiquement au démarrage de l'array :

  1. Allez dans l'onglet Docker dans le WebGUI.
  2. Basculez l'interrupteur Démarrage automatique sur ON pour chaque conteneur que vous voulez lancer automatiquement.

Personnaliser l'ordre et les délais de démarrage

Par défaut, Unraid démarre tous les conteneurs en démarrage automatique le plus rapidement possible, dans l'ordre où ils apparaissent dans l'onglet Docker. Vous pouvez personnaliser cet ordre et ajouter des temps d'attente entre les démarrages des conteneurs :

  1. Sur l'onglet Docker, déverrouillez la liste des conteneurs en utilisant l'icône de cadenas.
  2. Faites glisser et déposez les conteneurs pour réorganiser leur ordre.
  3. Passez à la Vue avancée en utilisant le bouton bascule en haut à droite.
  4. Dans la colonne AutoStart, entrez un temps d'attente (en secondes) dans le champ attente pour tout conteneur nécessitant un supplément de temps avant que le suivant ne démarre.
    • Utilisez l'essai et l'erreur pour déterminer les meilleurs temps d'attente pour votre configuration.
astuce

Définir l'ordre correct et les temps d'attente est particulièrement important pour les conteneurs qui dépendent de services fournis par d'autres (par exemple, démarrer une base de données avant une application qui l'utilise, ou un VPN avant des applications dépendantes).

Tester votre séquence de démarrage

Bien qu'Unraid ne possède pas de fonctionnalité dédiée de "test de séquence de démarrage", vous pouvez simuler et vérifier votre ordre de démarrage :

  1. Arrêtez tous les conteneurs depuis l'onglet Docker.
  2. Démarrez chaque conteneur manuellement, dans cet ordre planifié, en utilisant le bouton Démarrer.
  3. Surveillez les journaux des conteneurs et le comportement des applications pour vous assurer que les dépendances sont satisfaites et que les services se lancent comme prévu.
  4. Ajustez l'ordre de démarrage ou les temps d'attente si nécessaire.
important

Testez votre séquence de démarrage après avoir modifié les dépendances de conteneurs ou ajouté de nouveaux services, surtout si votre configuration repose sur un timing de démarrage spécifique.


Contrôler vos conteneurs

Une fois que vous avez créé et démarré votre conteneur Docker, sa gestion est facile via le WebGUI. Ce guide vous expliquera comment utiliser le menu contextuel, comprendre les indicateurs de santé du conteneur et accéder aux mappages de volumes dans votre conteneur.

Pour accéder au menu contextuel du conteneur, allez dans l'onglet Docker ou Dashboard et cliquez sur l'icône du conteneur que vous souhaitez gérer. Ce menu offre un accès simple aux actions courantes :

Guide Docker - Contrôle

OptionsDescription
WebUIOuvre l'interface web du conteneur dans un nouvel onglet de navigateur (si disponible).
ConsoleOuvre une interface en ligne de commande pour interagir directement avec le conteneur.
ArrêterArrête le conteneur en cours d'exécution.
PauseMet en pause le conteneur, arrêtant temporairement tous les processus.
RedémarrerRedémarre le conteneur, appliquant les modifications de configuration.
JournauxAffiche la sortie des journaux du conteneur pour le dépannage.
ModifierModifiez les paramètres du conteneur, tels que les mappages de ports ou de volumes. Les changements s'appliquent immédiatement après enregistrement.
SupprimerSupprime le conteneur. Vous pouvez choisir de ne supprimer que le conteneur ou également son image.
Page du projetOuvre la page de projet du conteneur pour la documentation et le support.
SupportFournit un accès aux ressources de support et à l'aide pour le conteneur.
Plus d'infosAffiche des informations supplémentaires sur le conteneur et sa configuration.

Indicateur de santé

Vous trouverez un indicateur de santé coloré à côté de l'icône de chaque conteneur :

  • 🟢 Sain : Indique que le conteneur fonctionne et répond comme prévu.
  • 🟡 Unhealthy : Le conteneur fonctionne mais a échoué à son contrôle de santé. Consultez les journaux ou les paramètres du conteneur pour plus d'informations.
  • No health check : Cela signifie qu'aucun contrôle de santé n'est configuré pour le conteneur. C'est courant pour de nombreuses applications, et pas nécessairement un problème.
note

Les contrôles de santé sont définis par l'auteur du conteneur et peuvent ne pas être présents pour toutes les images.


Mappages de volumes à l'intérieur d'un conteneur

Lors de la configuration de votre application via son interface web, référencez le chemin du conteneur que vous avez configuré lors de la configuration - pas le chemin hôte.

Par exemple, si vous avez mappé /mnt/user/media sur l'hôte à /unraid_media dans le conteneur, vous devez utiliser /unraid_media dans les paramètres de l'application.

Scénarios d'exemple

Voici quelques exemples montrant les configurations courantes de mappages de chemin que les utilisateurs ont fréquemment besoin lors de la configuration de conteneurs Docker. Ils démontrent comment traduire entre les chemins du système de fichiers hôte d'Unraid et les chemins internes du conteneur, vous aidant à configurer correctement les applications.

  • Serveur multimédia : Chemin hôte : /mnt/user/media
    Chemin conteneur : /unraid_media

    Dans l'application, définissez l'emplacement de votre bibliothèque multimédia sur /unraid_media.

  • Stockage des données de l'application : Chemin hôte : /mnt/user/appdata/myapp
    Chemin conteneur : /config

    Dans l'application, utilisez /config pour le stockage de la configuration.

  • Multiple user shares: Host path: /mnt/user/media → Container path: /media
    Host path: /mnt/user/data → Container path: /data

    Référencez /media ou /data dans l'application selon les besoins.

Best pratique

Utilisez toujours le mode d'accès le plus restrictif (lecture seule ou lecture/écriture) qui permet à votre conteneur de fonctionner correctement.


Planifier le démarrage et l'arrêt

Unraid ne prend pas en charge nativement les actions de démarrage ou d'arrêt planifiées pour les conteneurs Docker, mais vous pouvez facilement automatiser ce processus en utilisant le plugin User Scripts. Cet outil puissant vous permet d'exécuter des scripts personnalisés à intervalles réguliers, permettant un contrôle automatique de vos conteneurs.

Plugin User Scripts

Le plugin User Scripts vous permet de créer, gérer et programmer des scripts shell personnalisés directement depuis le WebGUI. Vous pouvez l'utiliser pour diverses tâches d'automatisation, telles que le démarrage ou l'arrêt des conteneurs, la sauvegarde des données ou l'exécution de routines de maintenance.

  • Installez le plugin depuis l'onglet Apps si vous ne l'avez pas encore fait.
  • Accédez-y via Paramètres → User Scripts pour créer et gérer vos scripts.

Pour en savoir plus sur les plugins, consultez Plugins.

Planification des actions des conteneurs

Pour automatiser le démarrage ou l'arrêt de vos conteneurs selon un planning :

  1. Installez le plugin User Scripts depuis l'onglet Apps.
  2. Accédez à Paramètres → User Scripts.
  3. Créez un nouveau script pour chaque planification unique. Vous pouvez inclure des commandes pour plusieurs conteneurs dans un seul script s'ils partagent le même programme.
  4. Définissez le planning à l'aide du menu déroulant ou utilisez une expression cron personnalisée pour des options de chronométrage plus avancées.
  5. Cliquez sur Appliquer pour enregistrer et activer votre script.
astuce

Les expressions Cron permettent une planification flexible au-delà des options intégrées. Par exemple, 0 3 * * 1 exécute votre script à 3h00 chaque lundi matin.

Exemples de commandes

Pour démarrer un conteneur, utilisez la commande :

docker start "container-name"

Remplacez "container-name" par le nom réel comme indiqué dans l'onglet Docker.

astuce

Vous pouvez trouver le nom du conteneur dans l'onglet Docker ou en visualisant la commande docker run sur l'écran de configuration du conteneur.