Développement

Docker – réduire la taille de vos images Node.js

Pour mon image Docker de l'api:Console, j'utilisais l'image officielle de Docker qui elle-même se base sur une Debian Jessie. L'image finale avait une taille virtuelle de 301 Mo. Solomon Hykes, fondateur et CTO de Docker, a récemment annoncé que l'image de base pourrait être Alpine Linux qui fait moins de 5 Mo ! Cette distribution est réputée légère et plus sécurisée. Alors pourquoi ne pas migrer sur cette image ? Pour celà, il faut simplement remplacer l'entête du Dockerfile d'origine…
Lire d'avantage
Développement

Libérer l’espace disque pris par Docker – le retour

Fort de votre expérience sur la gestion des couches des images Docker, vous prêtez attention aux couches des conteneurs arrêtés. Soit en créant un conteneur avec l'option --rm, soit en supprimant le conteneur plus tard. Pourtant, malgré tous ces efforts pour libérer l'espace disque pris par Docker, ce dernier a encore pris le dessus et occupe une bonne partie de votre espace disque. Mais comment fait-il ? (more…)
Lire d'avantage
Développement

PHP et Cassandra sont sur un même porte-conteneurs…

...Cassandra tombe à l'eau. Que fait PHP ? Introduction L'objectif est de tester la haute disponibilité de Cassandra pour une application PHP. Pour cela, 2 modes de connexion à la base de données sont testés : Un driver PDO nommé YACassandraPDO Le driver PHP officiel de Datastax Pour simplifier les tests, l'application est déployée dans des conteneurs Docker via Docker Compose. Le scénario utilisé est assez simple : Déploiement : d'un cluster Cassandra avec 3 nœuds d'une application PHP FPM…
Lire d'avantage
Développement

Analyser les logs Apache avec ELK et Docker

La combinaison d'ElasticSearch, Logstash et Kibana, plus connue sous l'acronyme ELK, permet de collecter, visualiser et analyser des logs générés par toutes sortes d'applications. ElasticSearch est un moteur d'indexation reposant une base de données NoSQL interrogable via une API REST Logstash est un outil pour collecter et découper des logs afin d'y extraire des informations pertinentes telles que des indicateurs techniques ou métier pour les stocker dans un outil tiers (ici ElasticSearch) Kibana permet d'interroger ElasticSearch et de construire des…
Lire d'avantage
Développement

Libérer l’espace disque pris par Docker

A force d'utiliser Docker, si l'on ne prête pas attention à la gestion des conteneurs et des images, on sature rapidement l'espace disque. Les conteneurs Suppression automatique des conteneurs Pour rappel, un conteneur peut être automatiquement supprimé quand il s'arrête en précisant l'option --rm : $ docker run busybox date Tue Jan 5 22:25:17 UTC 2016 $ docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES f3a949beb7ae busybox "date" 4 seconds ago Exited (0) 3 seconds ago fervent_thompson…
Lire d'avantage
Développement

Docker exec un jour, docker exec toujours !

S'il y a bien une astuce Docker à retenir quand on l'utilise sur son environnement de développement, c'est bien docker exec. Cette commande permet d'exécuter une commande dans un conteneur existant. Comme démontré avec des exemples concrets précédemment, cela permet de créer une collection Solr ou bien de faire un dump MySQL. Et si un nouveau conteneur autonome avait été créé lors de la création d'un cluster Cassandra pour créer une table, il aurait été possible d'utiliser le conteneur d'un…
Lire d'avantage
Développement

Dump MySQL avec un LAMP conteneurisé

L'article sur la conteneurisation d'un LAMP avec Docker décrit comment initialiser la base de données MySQL et comment restaurer des données précédemment sauvegardées. Ces procédures sont suffisantes pour commencer un projet LAMP avec Docker. Mais comment sauvegarder les données du LAMP conteneurisé avec Docker ? C'est assez simple. La solution met en œuvre les liens et les volumes Docker. Voici la commande pour réaliser un dump d'une base de données MySQL se nommant mysite et se trouvant dans un conteneur…
Lire d'avantage
Développement

Composer avec Docker

Le PHP a souvent l'image d'un langage destiné aux bricoleurs. Cela était peut-être un peu vrai au tout début. Mais avec le temps, il s'équipe d'outils d'industrialisation tel que Composer. C'est un outil de gestion de dépendances écrit en PHP et publié sous licence Open Source. Le dépôt utilisé par défaut pour télécharger les dépendances est celui de Packagist. Pour l'exécuter, il faut avoir PHP en ligne de commande. Néanmoins, un développeur l'a empaqueté dans un conteneur Docker et est…
Lire d'avantage
Développement

SolrCloud avec Docker Compose

Cet article sur la mise en place de SolrCloud fait écho à celui sur le cluster Cassandra avec Docker. Pour comprendre certains points abordés ci-dessous, il est nécessaire de connaitre la terminologie SolrCloud. Premiers essais avec Docker Comme précédemment, la première étape se résume à valider les images et la communication entre les conteneurs du cluster du moteur d'indexation via la ligne de commande docker. Comme souvent, l'équipe Docker propose une image officielle pour Solr avec un mode distribué qui…
Lire d'avantage
Développement

Cluster Cassandra avec Docker Compose

Docker Compose permet de démarrer, avec une seule ligne de commande, un ensemble de conteneurs communiquant entre eux. L'exemple de Wordpress et sa base de données MariaDB est assez simple. Est-il possible de démarrer un ensemble de conteneurs un peu plus complexe comme un cluster de bases de données Cassandra ? Premiers essais avec Docker Une première approche consiste à valider les images à utiliser et la communication entre les conteneurs via la ligne de commande docker. L'équipe Docker propose…
Lire d'avantage