Skip to main content

Nginx Proxy Manager

· 5 min read

Nginx Proxy Manager est une interface utilisateur graphique (GUI) pour gérer les proxys inverses Nginx. Il simplifie la gestion des proxys inverses, des certificats SSL et des redirections de trafic. Cet article présente Nginx Proxy Manager, explique ses fonctionnalités et avantages, et fournit une démonstration d'utilisation avec Docker.

DevOps Roadmap 2025

· One min read

Voici un résumé de ma roadmap DevOps personnelle pour 2025. Cette roadmap est basée sur mes expériences et mes objectifs personnels. Elle est sujette à des changements et des mises à jour régulières. N'hésitez pas à me contacter si vous avez des suggestions ou des commentaires.

FastAPI

· 4 min read

FastAPI est un framework web moderne et rapide (hautes performances) pour la création d'API avec Python, basé sur les annotations de types standard de Python.

Dokku

· 4 min read

Une alternative PAAS open source à Heroku https://dokku.com/ Dokku est une plateforme open-source permettant le déploiement, la gestion et la mise à l'échelle des applications sur un serveur. Inspiré par Heroku, il utilise une approche similaire pour le déploiement d'applications : le code se déploie en effectuant un "push" vers un dépôt Git sur le serveur. À la différence de Heroku, Dokku offre un contrôle total sur l'environnement de déploiement. Ainsi, l'infrastructure, le système d'exploitation et les services (tels que les bases de données ou les files d'attente de tâches) peuvent être personnalisés selon les besoins. Dokku s'appuie sur Docker pour gérer les applications dans des conteneurs isolés, ce qui simplifie la gestion des applications et de leurs dépendances. Chaque "push" d'une application à Dokku crée un nouveau conteneur Docker.

Docker Compose

· 10 min read

Docker Compose est un outil puissant qui permet de définir et de gérer des applications multi-conteneurs Docker. Il utilise un fichier YAML pour configurer les services de l'application. Ensuite, avec une seule commande, vous pouvez créer et démarrer tous les services à partir de votre configuration.

Containerization vs Virtualization

· 2 min read

Docker et les machines virtuelles (VM) sont des outils de virtualisation, mais ils fonctionnent différemment. Docker virtualise la couche des applications du système d'exploitation, utilisant le noyau de l'hôte, tandis qu'une VM virtualise l'ensemble du système d'exploitation, incluant son propre noyau et sa couche d'applications. Cette différence entraîne plusieurs distinctions majeures.

GitHub GHCR

· 5 min read

GitHub Container Registry (GHCR) est un service d'hébergement de packages logiciels proposé par GitHub, permettant aux utilisateurs de stocker des packages privés ou publics et de les utiliser comme dépendances dans leurs projets. Compatible avec plusieurs langages de programmation, GitHub Packages propose des registres pour des gestionnaires de packages tels que npm, RubyGems, Maven, Gradle, Docker, et NuGet. L'authentification sur GitHub Packages se fait exclusivement via un "personal access token (classic)". Les utilisateurs doivent disposer de ce token pour effectuer des opérations telles que la publication, l'installation et la suppression de packages, qu'ils soient publics, privés ou internes. Pour les packages privés, GitHub Packages applique des limites de stockage et de transfert de données en fonction du plan du compte. La gestion des packages peut être réalisée à travers l'interface utilisateur GitHub ou via l'API REST. Des webhooks peuvent également être configurés pour suivre des événements liés aux packages, comme la publication ou la mise à jour.

Débogage des conteneurs Docker

· 3 min read

Le débogage des conteneurs Docker est une compétence essentielle pour tout développeur ou administrateur système travaillant avec des environnements conteneurisés. Docker offre une variété de commandes et d'options pour aider à identifier et résoudre les problèmes qui peuvent survenir dans les conteneurs. Dans cet article, nous allons explorer certaines des commandes de base et des techniques avancées pour déboguer les conteneurs Docker.

< !--truncate-->

Commandes de base pour le débogage

docker ps

La commande docker ps est utilisée pour lister les conteneurs en cours d'exécution. Vous pouvez utiliser l'option -a pour afficher tous les conteneurs, qu'ils soient en cours d'exécution ou arrêtés.

docker ps
docker ps -a

docker logs

La commande docker logs permet de visualiser les journaux d'un conteneur. Cela peut être très utile pour identifier les erreurs ou les comportements inattendus.

docker logs <container_id>

Vous pouvez également utiliser le nom du conteneur à la place de l'ID.

docker exec

La commande docker exec permet d'exécuter des commandes à l'intérieur d'un conteneur en cours d'exécution. Cela peut être utile pour naviguer dans le système de fichiers du conteneur, vérifier les configurations ou exécuter des scripts de diagnostic.

docker exec -it <container_id> /bin/bash

docker inspect

La commande docker inspect fournit des informations détaillées sur un conteneur ou une image Docker. Cela inclut des détails sur la configuration, les réseaux, les volumes et plus encore.

docker inspect <container_id>

Techniques avancées de débogage

Utilisation de docker run avec des options

La commande docker run peut être utilisée avec diverses options pour faciliter le débogage. Par exemple, l'option -d permet de démarrer un conteneur en mode détaché, tandis que l'option -p permet de mapper les ports entre l'hôte et le conteneur.

docker run -d -p 8080:80 <image_name>

Redémarrage des conteneurs

Les commandes docker start et docker stop permettent de redémarrer les conteneurs. Cela peut être utile si vous avez apporté des modifications à la configuration du conteneur et que vous souhaitez les appliquer.

docker stop <container_id>
docker start <container_id>

Nommage des conteneurs

Lorsque vous créez un conteneur, vous pouvez lui attribuer un nom pour faciliter son identification. Cela peut être fait en utilisant l'option --name avec la commande docker run.

docker run --name my_container <image_name>

Conclusion

Le débogage des conteneurs Docker peut sembler complexe au début, mais en utilisant les commandes et techniques appropriées, vous pouvez rapidement identifier et résoudre les problèmes. Les commandes de base comme docker ps, docker logs, docker exec et docker inspect sont essentielles pour tout développeur ou administrateur système travaillant avec Docker. En combinant ces commandes avec des techniques avancées comme l'utilisation de docker run avec des options et le redémarrage des conteneurs, vous pouvez améliorer considérablement votre efficacité dans le débogage des conteneurs Docker.

Les containers Docker

· 3 min read

Les conteneurs Docker sont des unités logicielles légères et portables qui encapsulent une application et ses dépendances dans une image. Ces images sont composées de plusieurs couches, souvent basées sur une distribution Linux légère comme Alpine, pour minimiser la taille. Les conteneurs permettent de maintenir des applications isolées et cohérentes, indépendamment de l'environnement d'exécution.