-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Docker #16
Comments
bon je sais pas trop où le ranger, du coup en attendant d'avoir fini voici un début de texte Présentation de DockerTerminologieDocker gère des conteneurs, qui contiennent un ou plusieurs processus et se lancent dans une copie d'une image. On peut télécharger des images depuis le Docker Hub, une sorte d'App Store pour les logiciels serveurs. FonctionnementExécutionDocker est un logiciel utilisant les fonctionnalités d'isolation de processus du noyau Linux, les namespaces. De ce fait, les conteneurs n'ont pas besoin qu'on leur réserve des ressources (disque, mémoire vive ou processeur) au démarrage, Docker adopte un modèle stateless, ce qui signifie que les conteneurs sont vus comme des unités jetables. Au démarrage du conteneur, un seul processus est lancé : l'entrypoint, similaire à init pour UNIX et Linux. À l'arrêt du processus entrypoint, le conteneur est arrêté ! ImagesUne autre fonctionnalité importante de Docker est sa gestion du système de fichiers des conteneurs. La technologie Linux OverlayFS permet de superposer différentes couches pour former le système de fichiers du conteneurs. Ce système de couches permet d'optimiser énormément la taille des images car chaque image dérivée ne stocke que les Donc si on crée deux image "logiciel1 dans Ubuntu" et "logiciel2 dans Ubuntu", on ne stockera la partie "Ubuntu" qu'une seule fois. De même, si on crée deux conteneurs Ubuntu, notre disque ne stocke toujours qu'un seule fois l'image Ubuntu. VolumesLes volumes permettent de faire perdurer des modifications même si on supprime le conteneur. On peut monter un même volume dans plusieurs conteneurs, ce qui permet de partager des fichiers. DockerfileCes fichiers définissent les étapes (commandes shell) qui permettent de créer une image. Voici un exemple commenté. # structure du répertoire
# dossierConteneur
# ├── Dockerfile
# └── toto.txt
# on commence avec le système de fichiers d'Ubuntu
FROM ubuntu:18.04
# on copie le fichier toto.txt (il doit se trouver dans le même dossier que Dockerfile)
COPY toto.txt /tata.txt
# on exécute une commande à l'intérieur du conteneur. on remarque le système de fichiers qui contient tata.txt à la racine
RUN ls /
# on peut définir des variables d'environnement qui seront accesssibles à tous les processus dans le conteneur. elles sont souvent utilisées pour la configuration des conteneurs
ENV VARIABLE=valeur
# cette étape définit la commande qui sera exécutée au lancement. le conteneur s'arrête lorsque cette commande est finie
CMD ["/bin/sh", "-c", "echo Bonjour $VARIABLE && cat /tata.txt"] On construit l'image avec Cette image définit un conteneur qui à son lancement affiche "Bonjour valeur" ainsi que le contenu de "toto.txt". RéseauUne fonction très bien faite de Docker est sa gestion du réseau : vos conteneurs ont par défaut un accès internet, mais ils Un conteneur peut rejoindre un ou plusieurs réseaux, utiliser directement le réseau de l'hôte (déconseillé) et également On peut donc organiser les réseaux virtuels docker pour séparer des projets. Exemple: vous voulez que votre PWEB NodeJS puisse communiquer avec sa base de données qui s'exécute dans un autre conteneur, mais pas ClustersAvec des overlay networks, des conteneurs Docker qui s'exécutent sur des machines différentes peuvent communiquer entre eux. Ils peuvent aussi partager Avantages de Docker
Docker vous permet effectivement d'empaqueter un logiciel serveur dans un format standard qui est compatible Vous pouvez déployer un logiciel sans savoir comment il fonctionne. |
Jean, pour le ranger. Je pense que tu peux faire un nouveau dossier docker. |
La présentation générale de @JeanRibes me paraît suffisante, on peut rediriger après vers des tutos/guides, comme
PR bientôt |
No description provided.
The text was updated successfully, but these errors were encountered: