Passer au contenu principal

Gestion et personnalisation des conteneurs

:::caution[Disclaimer]

Cette page est rédigée pour aider les utilisateurs de tous niveaux à tirer le meilleur parti des conteneurs Docker sur Unraid OS. Les astuces et bonnes pratiques proviennent de l'équipe Unraid, qui veille à ce qu'elles soient adaptées aux besoins de la plupart des utilisateurs. Cependant, gardez à l'esprit que Docker évolue constamment, donc pour obtenir les fonctionnalités les plus à jour, les configurations avancées, ou résoudre des problèmes qui vont au-delà de la couverture d'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 fournit 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 complexes en ligne de commande.

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 Docker

Docker a une limitation qui l'empêche de participer dans deux réseaux partageant le même sous-réseau. Si vous passez d'une connexion filaire à une connexion 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 astuces 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 pourrait nécessiter qu'un conteneur de base de données soit en cours d'exécution en premier, ou un service pourrait exiger qu'un conteneur VPN soit actif avant son lancement.

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 donne un contrôle flexible sur les conteneurs qui démarrent automatiquement et dans quel ordre. C'est particulièrement utile si vous avez des conteneurs qui dépendent d'autres (comme une 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 à démarrage automatique aussi rapidement que possible, dans l'ordre où ils apparaissent sur 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 grâce au WebGUI. Ce guide vous expliquera comment utiliser le menu contextuel, comprendre les indicateurs de santé du conteneur et accéder aux mappages de volumes à l'intérieur de votre conteneur.

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

Docker Guide - Controlling

OptionDescription
WebUIOuvre l'interface web du conteneur dans un nouvel onglet du 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 le conteneur en pause, 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.
ModifierChangez les paramètres du conteneur, tels que les mappages de port ou de volume. Les modifications s'appliquent immédiatement après enregistrement.
SupprimerSupprime le conteneur. Vous pouvez choisir de supprimer uniquement le conteneur ou aussi supprimer son image.
Page du projetOuvre la page du projet du conteneur pour la documentation et le support.
SupportFournit l'accès aux ressources de support et à l'aide pour le conteneur.
Plus d'infoAffiche 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.
  • 🟡 Non sain : Le conteneur est en cours d'exécution mais a échoué à son contrôle de santé. Consultez les journaux ou les paramètres du conteneur pour plus d'informations.
  • Pas de contrôle de santé : Cela signifie qu'aucun contrôle de santé n'est configuré pour le conteneur. C'est fréquent pour de nombreuses applications, et pas forcément 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 des exemples montrant des configurations de mappages de chemins couramment nécessaires 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 :\n Chemin de l'hôte : /mnt/user/media\nChemin du conteneur : /unraid_media

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

  • Stockage d'appdata :\n Chemin de l'hôte : /mnt/user/appdata/myapp\nChemin du conteneur : /config

    Dans l'application, utilisez /config pour le stockage des configurations.

  • 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 supporte pas nativement les actions planifiées de démarrage ou d'arrêt 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 selon un planning, permettant un contrôle automatique de vos conteneurs.

Plugin User Scripts

Le plugin User Scripts vous permet de créer, gérer et planifier des scripts shell personnalisés directement depuis le WebGUI. Vous pouvez l'utiliser pour diverses tâches d'automatisation, comme démarrer ou arrêter des conteneurs, sauvegarder des données ou exécuter des 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 planning unique. Vous pouvez inclure des commandes pour plusieurs conteneurs dans un seul script s'ils partagent le même planning.
  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 tous les lundis.

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.