Quelles sont les différences entre Docker, Docker Compose, Kubernetes, Docker Swarm et Docker cloud ? Ci-dessous un petits résumé des termes et technologies les plus couramment utilisées dans la conteunerisation. DockerDocker est la technologie de conteneur qui permet de conteneuriser vos applications. Docker ComposePermet de configurer et de démarrer plusieurs conteneurs sur le même hôte. Docker SwarmDocker swarm sert à exécuter et à connecter des conteneurs sur plusieurs hôtes. Docker swarm es
[ ARCHIVE ] :
Voici plusieurs exemples de mise en place de containers avec Docker, de la simple mise en place, en passant par l’utilisation des Dockerfiles et pour finir avec docker-compose. Simple mise en placeMise en place de plusieurs containers dont un LAMP, un MariaDB et un PHPMyAdmin. Container LampChercher la bonne image dans un premier temps : # docker search lamp --stars=20 lamp La commande pour installer (récupérer, déployer) une image de container sur sa machine est la suivante : # docker pull tut
Le noyau Linux est capable de décomposer les privilèges de l’utilisateur root en unités distinctes appelées capabilities. Par exemple, la capabilities CAP_CHOWN est ce qui permet à l’utilisateur root d’apporter des modifications arbitraires aux UID et aux GID de fichier. La fonctionnalité CAP_DAC_OVERRIDE permet à l’utilisateur root de contourner les vérifications des autorisations du noyau pour les opérations de lecture, d’écriture et d’exécution de fichier. Presque tous les pouvoirs spéciaux a
Quel que soit le type de montage que vous choisissez d’utiliser, les données ont la même apparence depuis le conteneur. Il est exposé sous forme de répertoire ou de fichier individuel dans le système de fichiers du conteneur. Un moyen simple de visualiser la différence entre les volumes, les montages de liaison (binds) et les montages tmpfs consiste à déterminer l’emplacement des données sur l’hôte Docker. Les volumes sont stockés dans une partie du système de fichiers hôte géré par Docker (/va
L’intérêt d’utiliser Docker-compose est d’orchestrer/configurer plusieurs conteneurs en même temps avec un seul fichier YAML et les démarrer à l’aide d’une seule et unique commande. Installer Docker ComposeRien de plus simple, on télécharge la dernière version de docker-compose (voir ici car la version change souvent) : # curl -L https://github.com/docker/compose/releases/download/1.24.0-rc1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose Et on attribut les droits adequats
Guides des bonnes pratiques pour assurer une sécurité optimale pour l’utilisation de docker. Concernant le système et les disquesCréer une partition séparée pour Docker###Docker stocke par défaut dans /var/lib/docker et ce répertoire peut vite se remplir et rendre le système inutilisable.Il peut exister des cas ou une image mal configurée/mal intentionnée puisse remplir à elle seule tout l’espace disque. Maintenez votre système hôte à jourVérifier également les dernière MAJ de Docker.La sécurité
Le fichier Dockerfile définit ce qui se passe dans à l’intérieur du conteneur comme l’accès aux ressources (interfaces réseau, lecteurs de disque) qui seront virtualisées dans cet environnement isolé du reste du système. Parfois les Dockerfiles font appel à des fichiers annexes pour construire le projet. Le fichier DockerfileLe fichier Dockerfile doit être positionné à la racine de votre projet, ici le répertoire Projet/. # Use an official Python runtime as a parent imageFROM python:2.7-slim# Se
Quelques commandes basiques pour utiliser Docker. Les commandes propres aux imagesRechercher une image en ligne (Ici on cherche Debian avec au moins une validation de 50 étoiles) : # docker search --filter=stars=50 debian Récupérer une image, ici celle de Debian : # docker pull debian Lister les images présentes sur le serveur : # docker images Supprimer les images : # docker rmi <name OR ID> Supprimer les images utilisées par des containers : # docker rmi --force <name OR ID> Suppri
Docker est un outil qui peut empaqueter une application et ses dépendances dans un conteneur isolé, qui pourra être exécuté sur n’importe quel serveur. Il s’agit de conteneurisation et non pas de virtualisation. Pre requisServeurNous avons un serveur qui tourne sous Debian 9 Sretch. Désinstaller les anciennes versionsLes anciennes versions de Docker s’appellent Docker ou docker-engine, si elles sont présentes sur votre serveur il faudra les désinstaller : # apt remove docker docker-engine doc
Docker Manipule automatiquement les règles IPTables et il n’est pas conseillé de les modifier directement. Il est cependant possible de l’empêcher d’y inscrire ses propres règles et de les écrire vous même pour plus de sécurité. Docker and IPTablesDocker Manipule automatiquement les règles IPTables pour assurer l’isolation du réseau et faire fonctionner les conteneurs.Lorsque Docker ajoute automatiquement des règles IPTables il utilise la chaîne DOCKER. Si vous devez ajouter des règles qui se ch
Définitions des termes les plus couramment utilisés dans Docker. Notamment les dockerfile, image, container, docker-compose, orchestrateur. Lexique des termesDocker fileFichier texte décrivant la configuration du container docker, on part généralement d’une image standard à laquelle on ajoute les éléments correspondants à la configuration de l’application que l’on veut déployer. Une fois le Dockerfile configuré, on build le conteneur. DockerFile : Fichier source qui contient les instructions e
Les définitions et les différences entre une Firewall, un IDS et un IPS deviennent de plus en plus flou à mesure que les capacités technologiques de ces dispositifs augmentent, que les menaces évoluent et que les appellations commerciales deviennent de plus en plus attractives. DifférencesLes différences principales entre ces dispositifs résident dans le fait que le firewall effectue des actions telles que le blocage et le filtrage du trafic alors qu’un IPS va détecter et donner une alerte et un
VMware ESXi est le premier hyperviseur bare-metal dédié du marché. ESXi s’installe directement sur votre serveur physique, ce qui permet de partitionner ce dernier en plusieurs serveurs logiques appelés machines virtuelles. Les clients peuvent utiliser VMware ESXi avec l’édition gratuite de vSphere Hypervisor ou dans le cadre d’une édition payante de vSphere. Téléchargement https://www.vmware.com/fr/products/esxi-and-esx.html Rappel : où se situe EXSi dans le “système” VMware ? Installation de
NGINX, qui s’écrit tout en majuscules et se prononce EngineX, est un serveur Web moderne et efficace. Installer NginxRien de plus simple : # apt-get update# apt-get install nginx Puis aller ensuite sur http://your_server_ip et vous devriez voir un “Welcome to nginx“ sur votre page d’accueil. Commandes de basesLes commandes de bases sont : # systemctl stop nginx # systemctl start nginx # systemctl restart nginx # systemctl reload nginx # systemctl enable nginx (pour qu’il soit bien lancé au red
Résumé des notations affichées par le système Linux en fonction des périphérique branchés. Les lettres X, Y, Z représentent un chiffre. Les périphériques matériels Affichage console Nom du périphérique Commande /dev/fdX → Flopy Disk soon /dev/srX → CD-Rom soon /dev/hdX → IDE Disk soon /dev/sdX → SATA Disk and SSD Disk soon /dev/mdX → Raid soon /dev/nvmeXnYpZ → NVMe Disk soon /dev/mmcblkXpZ → SD or MMC card soon /dev/input/mouseX → Mouse soon /dev/ttySX → Port série ou i
Liste de commandes à haut risques pouvant endommager le système, compromettre la sécurité et supprimer des données. Certaines commandes sont très utiles mais restent cependant dangereuses. Pour les tester le mieux est de créer une VM, en pensant à faire un backup de l’image Commande Effet # rm -rf /* Efface absolument tous les fichiers du disque # find / -name «*» -exec rm {} \; Suppression de tous les fichiers # mkfs.ext3 /dev/sda Effacement des données du disque /dev/sda
Après avoir fraîchement installé son nouveau serveur il est important de vérifier la configuration et d’installer un certain nombre d’outils. Tutoriel réalisé avec un serveur sous GNU/Linux Debian 9 (stretch). Se connecter via un terminal !Lors de la première connexion sur votre serveur, la machine depuis laquelle vous vous connectez vous demandera une confirmation car elle ne connaît pas le serveur. $ ssh [email protected] authenticity of host '▓▓▓▓ (▓▓▓▓)' can't be established.EC
Redis, pou REmote DIctionary Server est un système de gestion de base de données clef-valeur scalable, très hautes performances, écrit en C et distribué sous licence BSD. Il fait partie de la mouvance NoSQL et vise à fournir les performances les plus élevées possibles. Installation de Redis on Debian 9Les packages Redis sont disponibles dans les dépôts : # apt install redis-server Relancer ou démarrer Redis # systemctl enable redis-server.service Installer l’extention PHP pour RedisPour que
La partition swap n’est désormais plus nécessaire car maintenant gérée automatiquement par le système, les ordinateurs récents disposent maintenant de suffisamment de mémoire vive et la partition swap est plutôt rarement sollicitée. Partition swap Point de montage : swap ( ne se voit pas à la racine ) Utilité : Espace d’échange, extension de la mémoire vive (RAM). Afin d’éviter un blocage la machine lorsque sa RAM est pleine, le système se sert du swap pour décharger temporairement la RAM. (plu
En faisant des tests d’installation de VPN sur une machine il est possible qu’apparaisse un grand nombre d’interfaces réseaux, ces interfaces réseaux “fantômes” sont parfois inutiles et gènent la lecture. # ip linkas0t0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 inet adr:172.27.224.1 P-t-P:172.27.224.1 Masque:255.255.254.0 UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1 Packets reçus:0 erreurs:0 :0 overruns:0 frame:0
Pour éviter que vos utilisateurs utilisent tout l’espace disque et/ou pour que cet espace soit réparti de façon équitable entre eux il est utile de mettre en place des quotas.Les quotas vont permettre d’attribuer une quantité d’espace disque à des groupes ou à des utilisateurs en particulier.Les quotas se gèrent en fonctions de 3 paramètres : Hard Limit : Quantité d’espace disque qui ne pourra jamais être dépassée. Soft Limit : Quantité d’espace disque attribuée, elle peut être temporairement
Let’s Encrypt est une autorité de certification libre et ouverte développée par Internet Security Research Group (ISRG). Les certificats émis par Let’s Encrypt sont approuvés par presque tous les navigateurs actuels. Installer CertbotCertbot est un outil permet d’obtenir et de renouveler les certificats SSL de Let’s Encrypt et de configurer les serveurs Web pour qu’ils utilisent ces mêmes certificats. Le paquet certbot est inclus dans les dépôts Debian/Ubuntu par défaut. # apt update# apt instal
Si vous rencontrer un problème pour installer un paquet qui vous spécifie qu’il est impossible de déverrouiller un répertoire, vous pouvez suivre la démarche suivante : L’erreur en question : # apt-get install kibanaE: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it? Il faudra trouver le numéro du processus qui utilise déjà apt-get et le tuer. # kill 32112 Relancer la
MariaDB, fork communautaire de MySQL qui a été racheté par Oracle, est un système de gestion de base de données sous licence GPL. La migration de MySQL vers MariaDB ne pose pas de problème particulier car MariaDB est basée sur le code source de MySQL. Installation de MariaDBUtilisation de la commande apt-get pour installer les paquets de MariaDB. # apt install mariadb-server Puis tapez cette commande pour finaliser la configuration : # mysql_secure_installation On vous demandera de rentrer votr
Munin est un outil de surveillance pour analyser les tendances et les problèmes (Dans la mythologie nordique, Hugin et Munin sont les corbeaux d’Odin.) PrérequisLe serveur de supervision doit avoir un serveur web configuré avec le répertoire root /var/www ou /var/cache/munin/www/, selon où s’est installer munin. Config NGINX rapideLe fichier /etc/nginx/sites-available/default : [...]server { listen 80 default_server; listen [::]:80 default_server; listen 443 ssl default_server; listen
La fonction mail() en php permet l’envoie de mail uniquement s’il existe un serveur mail configuré. Avec PHPMailer il est possible d’envoyer des mails sans devoir configurer de serveur mail en utilisant un autre serveur SMTP tel que celui de Google, Free, Orange par exemple (et bien sur le vôtre si vous en possédez un). Prés requis Ouvrir le port 25 sur le firewall Avoir un compte de messagerie qui permette l’utilisation de leur SMTP (Gmail, Free, Orange, ….) Avoir un serveur web avec votre site
PROXMOX est une distribution Linux pour la virtualisation ProxmoxTéléchargement http://download.proxmox.com/iso/ NotesDans EXSi il faut mettre “Autres > Autres 32bits”
PhpMyAdmin avec NGinxPré-requisLes prérequis pour l’installation sont : Avoir le serveur Nginx installé Avoir une Base de données (ici MariaDB) Avoir PHP7+ installé InstallationTélécharger le paquet avec APT : apt install phpmyadmin Vous verrez défiler la config, puis à cette question réponsez “yes”: The phpmyadmin package must have a database installed and configured before it can be used.This can be optionally handled with dbconfig-common.If you are an advanced database administrator and k
PostgreSQL, souvent connu simplement sous le nom de Postgres, est un système de gestion de base de données relationnelle open source. PostgreSQL version 9.6 est à ce jour la dernière version de PostgreSQL disponible dans les dépôts Debian. Installation de PostgreSQLCommencez par mettre à jour l’index de paquet local : # apt update Installation des paquets PostgreSQL et PostgreSQL-contrib qui fournit des fonctionnalités supplémentaires. # apt install postgresql postgresql-contrib Une fois l’insta
QEMU est un émulateur et virtualiseur générique open source, QEMU vient de la contraction de Quick EMUlatorVoici un emeu : InstalaltionTrès simplement via le gestionnaire de paquet apt # apt install qemuou# apt install qemu-kvm Cas d’UbuntuSous Ubuntu 12.04 la commande qemu ne fonctionne pas il faut utiliser qemu-system-i386 ou qemu-system-x86_64 et pour obtenir une compatibilité avec des scripts ou des commandes déjà existantes, il faut créer un lien symbolique en fonction de l’architecture av
Lors d’un changement de nom d’utilisateur, le nom du répertoire personnel ainsi que le groupe d’origine ne changent pas, il est donc nécessaire de suivre une procédure afin de modifier à la fois le login, le groupe et le nom du répertoire personnel. Changer le login d’un utilisateurPour changer le nom d’un utilisateur il ne faut pas que quelqu’un soit connecté sous celui-ci car le processus attribué pour cet utilisateur sera en cours d’exécution. Pour changer le login de l’utilisateur. # usermod
Toutes les commandes lancées dans un terminal shell Bash Linux sont conservées dans un fichier, il est possible de les consulter et de les effacer. La conservation de l’historique des requêtes est parfois très utiles mais il est parfois nécessaire de supprimer certaines entrées. Fichier historiqueL’historique des commandes tapées par les utilisateurs est conservé dans le fichier ~/.bash_history ou parfois dans ~/.history Chaque utilisateur possède son propre fichier d’historique des commandes,