diff --git a/docker/docker.md b/docker/docker.md index acbe441..9c3730c 100644 --- a/docker/docker.md +++ b/docker/docker.md @@ -1,5 +1,5 @@ --- -title: le cours de docker avec des schémas et des commandes interactives pour +title: le guide de docker avec des schémas et des commandes interactives pour les gens largués qui ont besoin d'explications détailées et qui mangent du terminal sub_title: et les titres à rallonge aussi @@ -143,6 +143,40 @@ est le "cœur" de Docker, tendis que les commandes servent juste à envoyer des requêtes à ce dernier. ![](./pictures/cli-daemon-commmunication.png) + +Docker -- fonctionnement +=== +# Commandes +Ok après toute cette théorie, voyons les différentes commandes permettant +d'interagir avec docker et plus particulièrement avec les images docker. +Tout d'abord, les commandes docker sont structurés en 4 parties: +```bash +docker +``` +En détail: +- **docker**: la commande de base pour appeller docker, toutes les commandes + commencent par ça. + - **\**: le nom du module de docker que l'on souhaite utiliser, + chaque module sert à interagir avec une partie spécifique de docker. + Par exemple, le module **image** sert à interagir avec les images docker. + - **\**: L'action du module à réaliser, chaque module possède des + actions qui sont lié à son utilisation. Par exemple, pour le module **image**, + l'action **pull** sert à télécharger une image depuis dockerhub sur son + ordinateur. + - **\**: enfin, chaque action vas demander des arguments qui sont détailer + dans le manuel de chaque action. + par exemple, l'action **pull** du module **image** demander le nom de l'image + à télécharger. + +Dans la pratique, si je veut télécharger l'image **node:22**, la commande à composer +sera la suivante: +```bash +docker image pull node:22 +``` +> [!note] Conseil +> Je vous invite à tester les commandes au fil qu'on les vois afin de les +tester et de les mémoriser. + Docker -- fonctionnement === @@ -218,8 +252,34 @@ une image avec la version 22 de node. Docker -- fonctionnement === -# Commandes - +# Images +## Commandes utiles +```bash +docker image pull : +``` +Cette commande permet de télécharger une image docker depuis internet sur votre +ordinateur. ex: `docker image pull rancher/cowsay:latest` +> [!tip] +> Si aucun tag n'est préciser, la commande téléchargeta le tag *latest* +```bash +docker image list +``` +Cette commande permet de lister les images présente sur votre ordinateur +```bash +docker image rm : +``` +Cette commande permet de supprimer une image de votre ordinateur +ex: `docker image rm rancher/cowsay` +> [!warning] +> Vous ne pouvez pas supprimer une image en cours d'utilisation par un conteneur ! +> Ainsi, vous devez d'abord supprimer les conteneurs utilisant cette dernière +> avant de la supprimer. +```bash +docker image search +``` +Cette commande permet de chercher des image docker correspondant à une requète, +de la même façon que sur dockerhub, mais en ligne de commande. ex: `docker image +search cowsay` Docker -- fonctionnement === diff --git a/docker/docker.pdf b/docker/docker.pdf new file mode 100644 index 0000000..67338db Binary files /dev/null and b/docker/docker.pdf differ diff --git a/flake.nix b/flake.nix index 2f25480..02c68ec 100644 --- a/flake.nix +++ b/flake.nix @@ -3,20 +3,27 @@ utils.url = "github:numtide/flake-utils"; nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11"; }; - outputs = { self, nixpkgs, utils }: utils.lib.eachDefaultSystem (system: - let - pkgs = nixpkgs.legacyPackages.${system}; - lib = nixpkgs.lib; - in + outputs = { - packages = { - docker = pkgs.writeShellScriptBin "docker" "${lib.getExe pkgs.presenterm} docker/docker.md -x"; - }; - devShell = pkgs.mkShell { - buildInputs = with pkgs; [ - presenterm - ]; - }; - } - ); + self, + nixpkgs, + utils, + }: + utils.lib.eachDefaultSystem ( + system: + let + pkgs = nixpkgs.legacyPackages.${system}; + lib = nixpkgs.lib; + in + { + packages = { + docker = pkgs.writeShellScriptBin "docker" "${lib.getExe pkgs.presenterm} docker/docker.md -x"; + }; + devShell = pkgs.mkShell { + buildInputs = with pkgs; [ + presenterm + ]; + }; + } + ); } diff --git a/readme.md b/readme.md new file mode 100644 index 0000000..47a170a --- /dev/null +++ b/readme.md @@ -0,0 +1,25 @@ +# Random cheatsheet + +# Description +Ce repo contient des guides sur des sujets divers de l'informatique et du développement, +vulgarisé du mieux de mes capacité (inexistante). +Il n'est pas prévu pour être exaustif mais pour aporter des points et des pistes de +compréhention que je juge néscéssaire à un usage basique. + +# Installation +Ce projet est construit comme une ensemble de slide **presenterm**, +il néscéssite donc l'installation de ce dernier pour pouvoir être lu. +De plus, vous auriez besoin des dépendence de chaque module afin de +pouvoir exécuter les codes correspondant, qui serons spécifier dans +ces derniers. + +## installation de presenterm +[](https://mfontanini.github.io/presenterm/install.html) + +# Utilisation +Chaque module est constitué d'un dossier contenant un fichier markdown du même nom. +Ainsi, le module **docker** se situe dans le dossier *docker/* et contient un fichier +*docker.md*. +Pour lancer un module, il suffit d'utiliser la commande +`presenterm /.md` +ex: `presenterm docker/docker.md`