J'utilise Docker pour presque tout, et je ne suis même pas un développeur
Pensez-vous que Docker est uniquement pour les développeurs? J'ai entendu ce dicton, mais ça ne pourrait pas être plus faux. Je ne suis pas un développeur et j'utilise Docker pour exécuter des dizaines de services et d'applications dans mon HomeLab.
Sommaire
Qu'est-ce que Docker de toute façon?
Docker est une plate-forme de contenerisation qui vous permet d'exécuter des services, des programmes et des mini-systèmes d'exploitation sur votre ordinateur ou votre serveur. Il peut également être utilisé pour exécuter divers environnements de développement, outils et autres choses nécessaires pour créer des applications.
L'une des principales raisons d'utiliser Docker est d'exécuter divers services séparés les uns des autres et votre système d'exploitation hôte. Cela vous permet d'avoir une plus grande confidentialité et protection pour votre système. Si un conteneur est compromis, il n'a accès qu'à lui-même et à tout ce à quoi vous lui accordez un accès.
Alors, suis-je un développeur?
Je ne m'appellerais pas nécessairement un «développeur». Pendant que je faisais des programmes et du développement d'applications, je ne l'ai pas fait depuis de nombreuses années. Je connais mon chemin autour d'un terminal Linux, et je suis toujours en train de faire du HTML ou de CSS en ce qui concerne mes sites Web personnels, mais je ne suis en aucun cas un développeur à part entière.
Tout au plus, je suis un bricoleur. J'adore jouer avec les choses, changer le code d'une application pour le faire faire ce que je veux et faire des autour des différents services que je gère dans mon Homelab.
Parce que je ne fais pas de tâches de développement, je ne gère pas de services de développement dans Docker. Il y en a des génial Outils de développeur disponibles dans Docker, je n'ai tout simplement pas d'utilité pour eux personnellement.
Si je ne suis pas développeur, pourquoi utiliser Docker?
Alors que Docker fait un fantastique Travail d'aide aux tâches de développement, ce n'est tout simplement pas mon cas d'utilisation pour cela. Au lieu de cela, je tire parti de la conteneurisation de Docker pour quelque chose de complètement différent: HomeLabbing.
Il y a des dizaines de milliers de conteneurs Docker disponibles. De nombreux conteneurs disponibles se concentrent sur la gestion des services ou des programmes, pas nécessairement le développement.
Dans mon HomeLab, j'ai près de 30 conteneurs Docker déployés sur mon hôte de docker principal, et une autre demi-douzaine sur mon hôte Docker secondaire. Ces services vont de Pi-Hole à Plex, OpenSpeedTest, Calibre, Paperless-NGX, Assistant à domicile, Tautulli, Page d'accueil et bien d'autres.
La question est: pourquoi est-ce que j'utilise Docker pour cela au lieu d'installer les applications elles-mêmes? La réponse est simple: j'aime les conteneurs.
Avec Docker, mon conteneur Plex ne peut accéder à rien sur mon réseau à moins que j'accorde un accès. Donc, je donne à Plex accès à ma bibliothèque de médias et c'est tout. L'assistant à domicile n'a en fait aucun accès à mon serveur; Il a sa propre propriété intellectuelle et fonctionne sur mon réseau, mais s'il est compromis, il ne peut pas atteindre l'autre matériel de mon réseau.
Il en va de même pour toutes les autres applications que je cours sur Docker. Ils sont tous séparés les uns des autres. Les conteneurs Docker n'ont accès qu'à ce que j'accorde, ce qui signifie que j'ai un contrôle affiné sur mes risques de sécurité dans le HomeLab.
En plus de cela, les conteneurs Docker sont préconfigurés pour l'application que vous souhaitez exécuter, il y a donc peu de configuration requise pour obtenir un service opérationnel. Toutes les dépendances sont déjà là, et elles sont tenues à jour par le développeur de conteneurs. Si une dépendance nécessite un redémarrage, tout ce que j'ai à redémarrer est le conteneur Docker, pas mon système hôte.
Docker est également portable en ce que je peux facilement modifier le système hôte sans réinstaller ou reconfigurer les services. J'ai récemment déplacé mon serveur Docker d'un ordinateur à un autre, et le seul conteneur qui n'a pas réellement apporté sa configuration avec lui était l'assistant à domicile (que j'ai facilement restauré à partir d'une sauvegarde).
Quand j'ai commencé à utiliser Docker, je ne savais pas à quel point ce serait utile d'une fonctionnalité. Cependant, je l'ai utilisé tant de fois. Bien que la fonction de migration soit agréable, ma partie préférée de Docker est que je peux réinstaller un conteneur sans perdre de paramètres ou de configurations.
Alors, pourquoi est-ce que j'utilise Docker? C'est simplement la façon la plus simple pour moi d'installer, tester et utiliser des services dans mon HomeLab. Le déploiement d'un conteneur Docker ne prend que quelques secondes. Quand j'ai terminé, je supprime simplement le conteneur et le service (avec toutes les dépendances) disparaît.
Docker dirige toute ma maison et je ne pourrais pas imaginer le contraire
À ce stade de mon voyage à domicile, je ne pouvais pas imaginer ne pas utiliser Docker. Je ne peux même pas commencer à compter le nombre de services que j'ai essayés dans Docker, seulement pour supprimer quelques minutes plus tard parce qu'il n'a pas fait ce que je voulais.
Sans Docker, je devrais installer le logiciel et toutes les dépendances qu'il avait. La désinstallation nécessiterait alors la suppression de ces dépendances, et il reste presque toujours des fichiers de configuration errants.
Docker facilite la gestion de mon domicile, et c'est certainement le meilleur outil pour le travail.
À l'avenir, je prévois de déployer Docker dans un environnement à haute disponibilité. Essentiellement, j'aurai trois serveurs similaires qui exécutent tous Docker. Portainener, mon Docker Manager préféré, distribuerait ensuite ces services entre les différents serveurs.
Si j'avais besoin de travailler sur un serveur, tous ces services migreraient vers un autre serveur et resteraient en cours d'exécution. Lorsque le serveur qui a subi une maintenance était de retour, il serait à nouveau disponible pour les conteneurs.
Sans utiliser une forme de système de gestion des applications, comme Docker, cela ne serait pas possible. En raison de la façon dont Docker gère ses volumes et son stockage, lorsque ces services migrent, faites donc toutes leurs préférences, fichiers de configuration et tout stockage local utilisé par l'application.
Docker est absolument essentiel à ma configuration, et je ne le vois pas de sitôt.
Donc, non, je ne suis pas un développeur, mais j'aime absolument Docker. Si vous n'êtes pas développeur, vous devriez totalement essayer Docker – cela changera votre configuration pour le mieux.
Il y a beaucoup de conteneurs Docker pour essayer. Des dizaines de milliers, en fait. Si cela vous est écrasant, vous n'êtes pas seul. Voici une poignée de mes conteneurs Docker préférés qui, je pense, devraient être dans chaque maison, allant des simples pages Web aux services à part entière.
