Utiliser MongoDB à partir d’une image docker

MongoDB est une des bases de données NoSQL orientée Document les plus populaires. Pour l’utilisez sur des environnement de développement il est souvent plus simple d’utiliser une image docker plutôt que d’installer le moteur sur chaque poste de développement. Voici les quelques étapes à suivre pour utiliser MongoDB dans un conteneur docker.

Récupération de l’image

Le prérequis est que docker est installé et configuré sur le poste de travail. Le plus simple est d’utiliser la dernière version :

Il est possible de choisir une version spécifique en ajoutant un tag :

La liste des tags (versions + systèmes disponibles) est accessible ici.

Déploiement de l’image comme container

L’image téléchargée doit être déployée sous forme de container, il faut durant cette opération préciser les paramètres d’accès au container (port, host) et le nom du container afin de pouvoir le gérer par la suite dans docker.

La commande précédente va démarrer le container en mode daemon, il fonctionnera de cette manière en tâche de fond une fois démarré.

Se connecter à MongoDB

Le container docker peut être démarré et arrêté avec les commandes suivantes :

Une fois démarré le container permet de se connecter à mongodb comme si il fonctionnait directement sur votre poste de travail. Avec votre outil préféré ou un langage de programmation, vous aller pouvoir vous connecter sur le host localhost. Pour interagir avec le shell mongo directement il faut se connecter au bash du container et lancer le shell mongo :

Vous pourrez ensuite accéder à toutes les commandes de gestion à partir du shell, liste des dbs, liste des collections …

Cloudberry Backup – suppression du client sur Linux

J’ai eu à changer la solution de sauvegarde d’un serveur et impossible de trouver comment désinstaller le client Cloudberry Backup. Et bien sûr celui-ci continuait à se lancer régulièrement bien que ce serveur ai été supprimé des plans de sauvegardes. Après quelques recherche dans les paquets, j’ai fini par trouver le paquet responsable : online-backup.
Pour le désinstaller rien de plus simple :

 

docker – accéder au shell dans un conteneur

Pour accéder au shell dans un conteneur, il faut lancer la commande suivante :

Pour obtenir le nom du conteneur, il faut utiliser :

Ici les noms sont docker_nginx_1, docker_httpd_1 …

 

 

Linux Ubuntu lister le nom des interfaces réseaux

Lorsque l’on souhaite configurer une interface réseau qui n’a pas été créée lors de l’installation du système, il peut être « ardu » de trouver le nom de l’interface. Pour se faire rien de plus simple :

Exemple de résulltat sur une machine virtuelle VMWARE avec 2 interfaces réseaux.

Resynchronisation d’un noeud avec MariaDB Galera Cluster

Lorsqu’un noeud a du mal à se synchroniser avec le reste du cluster, il est plus simple de le remettre à zéro. Pour faire cette opération, il suffit d’effacer les données pour que le noeud se resynchronise avec le cluster :

Cette opération peut prendre du temps, et un timeout peut survenir au démarrage du cluster. Il peut être nécessaire de modifier la configuration du service pour augmenter le timeout au démarrage :

Ajouter cette ligne en fin de fichier :

 

 

Mettre à jour un système ubuntu/debian en excluant certains paquet

Upgrade linux exclude packageRégulièrement les systèmes ubuntu/debian doivent être mise à jour afin d’appliquer notamment des correctifs de sécurité. Toutefois certain composants ne peuvent pas ou ne doivent pas être upgrader car ils peuvent remettre en cause l’exécution normal d’un programme ou d’un site. La commande apt-get est très simple à utiliser pour faire un upgrade des paquets installés, mais il n’est pas possible d’exclure de la procédure de mise à jour un ou des paquets précis (apt-get upgrade –exclude this-package).

L’utilitaire apt-mark propose de marquer certain package pour les exclure de la mise à jour.

apt-mark hold <package>

Exemple si on ne souhaite pas faire d’upgrade du paquet varnish :

On peut ensuite vérifier la liste des paquets marqués pour ne pas faire de mise à jour et lancer l’upgrade :

Pour « débloquer » les paquets lors des prochaines mise à jour, il faut utiliser la commande apt-mark unhold :

 


VMWare tools install – fixer l’erreur « kernel header path is not valid »

Pour fixer à l’installation des VMWare Tools sur une machine virtuelle Linux Mint, si vous obtenez le message à l’exécution de la configuration des VMWare tools : « kernel header path is not valid ». Commencez par vérifier que vous avez suivi l’installation des packages build-essentials et kernel-header en suivant la commande présentée ici : Installation des vmware-tools sous ubuntu/mint.

Si le problème persiste, il faut créer un lien symbolique sur le version.h :

Il est maintenant possible d’installer et de configurer les VMWareTools.

Comment récupérer le PID d’un process lancé par nohup

Nohup est une commande unix/linux permettant de lancer un processus. Celui-ci restera actif même lorsque l’utilisateur se déconnectera. Avec cette commande il est possible de créer facilement des scripts de démarrage et d’arrêt d’un service.

Le script de démarrage avec nohup permet de stocker l’identifiant du processus dans un fichier, ce pid sera réutilisé par la suite pour détruire le process :

Le script d’arrêt du service se base sur la lecture du pid enregistré dans le fichier et la destruction du processus avec la commande kill :

Comment récupérer le PID d’un process lancé par nohup