Docker Health check, comment vérifier la santé de vos containers?

La version 1.12 de Docker est sortit il y a quelques mois maintenant, l’occasion pour cet article de revenir sur une fonctionnalité intéressante, l’instruction HEALTHCHECK qui permet de vérifier la santé de vos containers.

Avec Docker, vous pouvez voir assez facilement les containers lancés ou stoppés, un petit « docker ps » ou un appel REST suffit, mais qu’en est-il du processus à l’intérieur de votre container? Est-ce que votre application est toujours opérationnel ou est-elle en train de freezer? C’est à cette question que va répondre la fonctionnalité Docker Health Check.

Grâce à l’instruction HEALTHCHECK à utiliser dans vos Dockerfile, vous allez pouvoir vérifier régulièrement si votre application est toujours en vie, et transmettre cette information aux outils d’orchestration et de monitoring.

Lire la suite

Configurer automatiquement Nginx avec Docker et Docker-gen

Dans cet article, je vous propose de mettre en place un serveur web NGINX qui va servir de frontal pour vos différents conteneurs Docker.

La solution retenu permet de configurer automatiquement NGINX à partir des images et containers démarrés par Docker sans opération manuelle de votre part sur Nginx. Nous utilisons l’outil docker-gen pour la configuration de nginx. Un deuxième article sera bientôt disponible pour activer https et vous aider à gérer les certificats automatiquement avec Let’s Encrypt

Lire la suite

Docker et ses networks

Arrivé avec la version 1.9 en octobre 2015, les networks de Docker ont apporté une meilleur gestion de la configuration réseaux et remplace aisément l’ancienne fonctionnalités de linking de Docker.

La gestion des networks a été égalementajoutée à la version 2 de docker-compose, ce qui aurait dû en accélérer l’adoption. Pourtant, on trouve beaucoup d’exemples récents n’utilisant pas encore les networks, et trop de personnes ne savent pas utiliser pleinement.

Je vous propose donc un petit tour d’horizon des fonctionnalités apportées par Docker Network

Lire la suite

Le déclin des serveurs d’applications Java

tomcat-dockerLes serveurs d’applications Java sont-ils en train de mourir à cause de Docker? c’est la question que s’est posé James Strachan dans son article écrit en anglais: the decline of Java application servers when using docker containers
Trouvant l’article particulièrement intéressant, j’ai demandé l’autorisation à son auteur pour le traduire afin de vous le proposer en français. L’article est traduit le plus fidèlement possible, seul la conclusion a été raccourcie et adaptée mais elle reste conforme à la vision de l’auteur initial.

Depuis des années, l’éco-système Java utilise les serveurs d’application. Le principe d’un serveur d’application Java (Servlet, JEE ou OSGi) repose sur un processus Java dans lequel on déploie & retire du code grâce à une archive de déploiement (jar, war, ear, bundle, etc). Le processus Java reste donc actif dans le temps et s’adapte au code. Les serveurs d’application ont donc le plus souvent un répertoire ou l’on dépose  une archive qui va modifier le code en cours d’exécution.

Lire la suite

Docker Sécurité : 10 bonnes pratiques

Docker permet de faire beaucoup de choses, mais si on ne fait pas attention, on peux rapidement se retrouver avec des problèmes de sécurité. Voici donc 10 bonnes pratiques sélectionnés pour sécuriser rapidement vos Docker.

Je tiens à préciser que je ne suis pas un expert en sécurité des systèmes Linux, je suis avant tout un développeur qui tient à assurer un minimum de sécurité à ce qu’il installe sur ses serveurs. Il ne sera donc pas question ici de recompiler le noyau Linux en utilisant telle librairie et pas une autre. Je n’ai donc retenu que les solutions compréhensibles pour un développeur et facile à mettre en place.

Créer une partition séparée pour Docker

L’ensemble des données de docker sont stocké dans /var/lib/docker. C’est le répertoire par défaut que docker utilise pour stocker toutes ses images et ses containers. Dès les premiers jours d’utilisation, on se rend vite compte que  Docker prend rapidement de la place.

Lire la suite