Docker est un outil permettant d'empaqueter une application dans un environnement (container) isolé du système et qui a l'avantage d'être assez simple et rapide à mettre en oeuvre. Un des objectifs de la refonte de mon NAS homemade était d'installer Docker afin de gérer quelques containers. Voyons comment réaliser la première étape.

Dans cet article, je ne vais pas décrire Docker et son fonctionnement. Pour cela, je vous invite à consulter divers liens et à faire une recherche sur votre moteur préféré ;)

Je pars du principe que vous avez installé OpenMediaVault. Le tuto est réalisé sur la version 4.1.26-1 d'OMV.

Commencez par vérifier les mises à jour du système. Pour cela, rendez-vous dans le menu général "Système > Gestionnaire de mises à jour" et cliquez ensuite sur le bouton "Vérifier".

Si vous avez des résultats, sélectionnez-les tous et cliquez sur le bouton "Mise à niveau".

Installation du plugin Docker

Une fois les mises à jour effectuées, il va falloir installer un plugin spécial : OpenMediaVault-extras. Pour cela, vous devez vous rendre sur le site du plugin. Dans le menu du site, cliquez sur "Guides". Cette page vous décrit comment l'installer.

Dans la section "Installation" du site, cliquez sur le lien de téléchargement lié à votre version d'OMV.

Pour installer dans OMV le fichier .deb téléchargé, retournez sur l'interface d'OpenMediaVault et rendez-vous dans le menu "Système > Plugins". Cliquez ensuite sur le bouton "Télécharger" :

Une fenêtre s'ouvre vous permettant de choisir le fichier sur votre ordinateur.

L'installation du .deb effectuée, recherchez ce plugin dans l'interface et cochez-le puis cliquez sur le bouton "Installer" :

L'interface d'OMV va alors s'actualiser et vous pouvez découvrir un nouvel élément dans le menu "Système" : "OMV-Extras" :

Cliquez sur la ligne "Docker CE" et ensuite sur le bouton "Modifier". Une fenêtre s'ouvre, cliquez sur le switch "Activer" et enfin sur le bouton "Enregistrer" :

Cela a pour incidence d'ajouter sur votre système les dépôts liés à Docker. Effectuez une mise à jour en cliquant sur le bouton "Mises à jour > update" :

Enfin, pour installer le plugin Docker GUI sur OpenMediaVault, rendez-vous dans les plugins puis recherchez "Docker" et cliquez sur la case à cocher puis le bouton "Installer".

Vous devriez avoir l'élément "Docker" dans le menu "Services" !

Commencez par activer Docker en cliquant sur "Enable the plugin" puis sur le bouton "Enregistrer" :

Vous pouvez désormais ajouter des images et créer des containers très facilement à partir de l'interface d'OpenMediaVault !

Création d'un container simple

La création de containers sera l'objet de prochains articles mais voici comment procéder de manière générale.

Pour la démo, je vais créer un container utilisant mon petit projet d'API de citations de Breaking Bad.

Dans le service Docker d'OMV, recherchez le nom de l'image que vous souhaitez récupérer via le champ situé en haut à droite. Pour ma part : breaking-bad-quotes :

Dans la fenêtre qui s'ouvre, validez le téléchargement avec le bouton "Démarrer" :

L'image est extrêmement simple, il n'y a rien à configurer pour que l'API fonctionne du premier coup.

Pour créer le container utilisant l'image téléchargée, cliquez sur l'image puis sur le bouton "Run image". Une fenêtre s'ouvre contenant tout un tas de paramètres :

Renseignez un nom pour le container à créer, la politique de redémarrage sur "unless-stopped" et le mode de réseau "host".
Cliquez sur le bouton "Enregistrer" pour créer le container.

Quelques secondes après, votre container est en service et vous pouvez accéder à l'API via l'IP de votre serveur OMV suivi du numéro de port défini par l'image :

Annexe - Création d'un répertoire partagés pour les fichiers de config

Pour certaines images (plex, mariadb, ...), il est nécessaire de spécifier l'emplacement d'un dossier partagé afin de stocker des fichiers de configuration du container. Ainsi, lors de la mise à jour ou réinstallation du container, les configurations ne seront pas perdues.

Pour cela, créez un répertoire partagé à partir du menu "Gestion des droits d'accès / Dossiers partagés" :

Pour ma part, je l'ai nommé "appdatas".

Dans l'idéal, ce dossier devrait être accessible depuis un partage réseau ou FTP. Sinon, vous pourrez créer les sous-dossiers à partir d'une connexion SSH sur votre serveur Open Media Vault. Pour info, les dossiers partagés sont accessibles sur le serveur dans /sharedfolders/.

Ces sous-dossiers seront par exemple "plex", "mariadb", et contiendront les différents fichiers de configuration des containers créés.

Annexe - Création d'un utilisateur dédié

Toujours pour certaines images, lors de la création d'un container, il est conseillé de spécifier un PUID et un PGID. Cela correspond aux identifiants d'un utilisateur et d'un groupe.

J'ai créé un utilisateur dockeruser appartenant au groupe users, déjà existant :

Pour obtenir les fameux PUID et PGID, connectez-vous en SSH sur le serveur OMV et tapez :

cat /etc/passwd

Recherchez la ligne de votre utilisateur (normalement la dernière) et relevez ce qui se trouve après. Exemple :

dockeruser:x:1000:100::/home/dockeruser:/bin/sh

Ici, le PUID est 1000 et le PGID est 100. Ces chiffres seront utiles lors de la configuration d'un container.

L'installation de Docker et sa configuration effectuée, vous pouvez désormais installer le container de votre choix !

D'autres articles sur le thème des containers Docker sur OpenMediaVault ont été écrits, d'autres suivront bientôt :