L’article raconte une expérience douloureuse : l’utilisation du tag latest pour une image Docker a causé une panne en production après qu’une mise à jour silencieuse de l’image de base (PostgreSQL) ait changé la version de collation du système d’exploitation, rendant la base de données incompatible. L’auteur explique que latest n’est pas synonyme de « stable » ou « sûr », mais simplement de « dernière version disponible », ce qui peut varier à tout moment. Il détaille trois raisons d’éviter latest : stabilité (comportement cohérent), reproductibilité (diagnostic et audit facilités), et contrôle des mises à jour (éviter les surprises). La solution ? Toujours spécifier un tag explicite (ex: postgres:15.3-alpine) dans Docker, Docker Compose ou Kubernetes. Un rappel utile : ne jamais laisser le choix de la version à quelqu’un d’autre, surtout en production.
Microbox est un outil open source permettant de créer des environnements d'exécution légers et isolés (sandbox) sur Linux, en exploitant des fonctionnalités du noyau comme les namespaces, cgroups, seccomp et les capabilities. Il offre une isolation par défaut maximale (processus, réseau, système de fichiers, IPC, utilisateurs) et permet de configurer des limites de ressources (CPU, mémoire, stockage) ainsi que des options de montage de systèmes de fichiers (rootfs personnalisé, tmpfs, ou accès partiel au système hôte). Microbox supporte plusieurs modes réseau (aucun, bridge, hôte) et permet de contrôler finement les appels système autorisés et les capabilities Linux.
Conçu à des fins éducatives pour comprendre la sécurité des sandbox non basées sur des machines virtuelles, il se distingue des solutions comme runc ou Podman par son approche axée sur l'isolation plutôt que l'équilibre entre sécurité et utilisabilité. Il est idéal pour exécuter des applications de manière sécurisée et éphémère, avec des options avancées comme la gestion des variables d'environnement, des DNS personnalisés, ou encore des profils de sécurité. Attention : nécessite des privilèges root et ne supporte pas encore les profils AppArmor/SELinux ni les images OCI.
Dockeriser une application Symfony pour déployer un agent IA de manière scalable : Cet article explique comment containeriser une application Symfony avec Docker et Docker Compose, en explorant trois stratégies (monolithique, sidecar, hybride). L’approche hybride est privilégiée pour allier simplicité et flexibilité, en utilisant Supervisord pour gérer Nginx, PHP-FPM et les consommateurs de messages. Les fichiers de configuration (Nginx, PHP, PHP-FPM) sont intégrés à l’image, et un Dockerfile optimisé permet de créer un environnement reproductible et portable. L’article souligne l’importance d’utiliser UTC pour la gestion du temps, de séparer les configurations par environnement, et d’éviter de reconstruire l’image pour chaque déploiement. Enfin, un fichier docker-compose.yml orchestrerait le tout, avec Redis pour la gestion des messages, offrant une base solide pour un déploiement scalable et observable, prêt pour Kubernetes.
Les Dev Containers permettent de configurer un environnement de développement complet dans un conteneur Docker, évitant ainsi les conflits de versions et les installations locales fastidieuses. Idéal pour gérer plusieurs SDK (Java, NodeJS, Python, Ruby, etc.), ils rendent l’environnement portable et reproductible, ce qui est particulièrement utile pour les projets Open Source ou le travail sur différentes machines. Intégrés nativement à VSCode (et partiellement à IntelliJ Ultimate), ils offrent une expérience fluide : configuration as code, partage de projet clé en main, et isolation des outils. L’auteur illustre leur utilisation avec un blog Jekyll, soulignant la simplicité d’initialisation, la gestion automatique des ports, et la possibilité d’ajouter des outils ou extensions via des features. Bien que performants, leur usage peut impacter la mémoire et le stockage, mais les CDE (Cloud Development Environments) offrent une alternative pour les configurations légères. Une solution pratique pour standardiser et simplifier le développement !
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre