{"id":6900,"date":"2026-03-11T13:04:40","date_gmt":"2026-03-11T12:04:40","guid":{"rendered":"https:\/\/workboot.fr\/ciela\/?page_id=6900"},"modified":"2026-03-18T10:33:24","modified_gmt":"2026-03-18T09:33:24","slug":"tp0_docker","status":"publish","type":"page","link":"https:\/\/workboot.fr\/ciela\/tp0_docker\/","title":{"rendered":"TP0_Docker"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">\ud83d\udd52 : 3 h maximum<\/p>\n\n\n\n<nav aria-label=\"Table des mati\u00e8res\" class=\"wp-block-table-of-contents\"><ol><li><a class=\"wp-block-table-of-contents__entry\" href=\"https:\/\/workboot.fr\/ciela\/tp0_docker\/#prerequis\">Pr\u00e9requis:<\/a><\/li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https:\/\/workboot.fr\/ciela\/tp0_docker\/#but\">But:<\/a><\/li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https:\/\/workboot.fr\/ciela\/tp0_docker\/#repertoire-de-travail\">R\u00e9pertoire de travail:<\/a><\/li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https:\/\/workboot.fr\/ciela\/tp0_docker\/#presentation-de-notre-docker\">Pr\u00e9sentation de notre docker<\/a><\/li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https:\/\/workboot.fr\/ciela\/tp0_docker\/#installer-docker-sans-proxy-chez-vous\">Installer Docker sans proxy (chez vous)<\/a><\/li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https:\/\/workboot.fr\/ciela\/tp0_docker\/#installer-docker-au-lycee-avec-proxy\">Installer docker au lyc\u00e9e (avec proxy)<\/a><ol><li><a class=\"wp-block-table-of-contents__entry\" href=\"https:\/\/workboot.fr\/ciela\/tp0_docker\/#mettre-a-jour-et-installer-curl\">mettre \u00e0 jour et installer curl <\/a><\/li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https:\/\/workboot.fr\/ciela\/tp0_docker\/#ajouter-le-source-list-de-docker\">ajouter le source list de docker <\/a><\/li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https:\/\/workboot.fr\/ciela\/tp0_docker\/#mettre-les-cles-gpg-du-depot\">mettre les cl\u00e9s gpg du d\u00e9p\u00f4t <\/a><\/li><\/ol><\/li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https:\/\/workboot.fr\/ciela\/tp0_docker\/#decouverte-d-un-docker-avec-debian-12-bookworm\">D\u00e9couverte d&rsquo;un docker avec Debian 12 BOOKWORM<\/a><ol><li><a class=\"wp-block-table-of-contents__entry\" href=\"https:\/\/workboot.fr\/ciela\/tp0_docker\/#on-charge-la-debian-12-sur-notre-machine-locale\">on charge la debian 12 sur notre machine locale<\/a><ol><li><a class=\"wp-block-table-of-contents__entry\" href=\"https:\/\/workboot.fr\/ciela\/tp0_docker\/#emplacement-par-defaut-sur-linux\">Emplacement par d\u00e9faut sur Linux<\/a><\/li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https:\/\/workboot.fr\/ciela\/tp0_docker\/#structure-detaillee\">Structure d\u00e9taill\u00e9e<\/a><\/li><\/ol><\/li><\/ol><\/li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https:\/\/workboot.fr\/ciela\/tp0_docker\/#docker-image-et-images\">Docker image et images<\/a><\/li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https:\/\/workboot.fr\/ciela\/tp0_docker\/#hello-world\">hello-world<\/a><\/li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https:\/\/workboot.fr\/ciela\/tp0_docker\/#effacer-l-image-hello-world\">effacer l&rsquo;image hello-world<\/a><\/li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https:\/\/workboot.fr\/ciela\/tp0_docker\/#on-va-se-re-concentrer-sur-l-image-debian-12-bookworm\">On va se re-concentrer sur l&rsquo;image Debian 12 (bookWorm)<\/a><ol><li><a class=\"wp-block-table-of-contents__entry\" href=\"https:\/\/workboot.fr\/ciela\/tp0_docker\/#stop-start-attach-ps-ps-a\">stop\/start\/attach\/\/ps \/ ps -a<\/a><\/li><\/ol><\/li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https:\/\/workboot.fr\/ciela\/tp0_docker\/#dockerfile-la-recette-pour-realiser-un-docker\">Dockerfile ! la recette pour r\u00e9aliser un docker<\/a><\/li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https:\/\/workboot.fr\/ciela\/tp0_docker\/#glpi-en-docker-vite-fait-bien-fait\">GLPI en docker ! vite fait bien fait!<\/a><ol><li><a class=\"wp-block-table-of-contents__entry\" href=\"https:\/\/workboot.fr\/ciela\/tp0_docker\/#docker-compose\">docker-compose<\/a><\/li><\/ol><\/li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https:\/\/workboot.fr\/ciela\/tp0_docker\/#utilisateur-et-mot-de-passe\">\ud83d\udd11 utilisateur et mot de passe<\/a><\/li><\/ol><\/nav>\n\n\n\n<h2 id=\"prerequis\" class=\"wp-block-heading\">Pr\u00e9requis:<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Cours Linux <\/li>\n\n\n\n<li><a href=\"https:\/\/workboot.fr\/ciela\/docker\/\" type=\"page\" id=\"6892\">Cours Docker<\/a><\/li>\n<\/ul>\n\n\n\n<h2 id=\"but\" class=\"wp-block-heading\">But:<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Installer une machine linux et l&rsquo;administrer (ici bookworm)<\/li>\n\n\n\n<li>installer glpi ! easy !<\/li>\n<\/ul>\n\n\n\n<h2 id=\"repertoire-de-travail\" class=\"wp-block-heading\">R\u00e9pertoire de travail:<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">~\/Works\/TP0_Docker<\/p>\n\n\n\n<h2 id=\"presentation-de-notre-docker\" class=\"wp-block-heading\">Pr\u00e9sentation de notre docker<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Une Debian 12 Bookworm, c&rsquo;est un excellent choix pour l&rsquo;enseignement. Je vais vous guider \u00e0 travers une s\u00e9rie d&rsquo;exercices progressifs, du plus simple au plus avanc\u00e9, en utilisant les conteneurs Docker.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sur une machine disposant d&rsquo;internet sans proxy tout est plus simple ! Mais au lyc\u00e9e nous sommes derri\u00e8re un proxy !<\/p>\n\n\n\n<h2 id=\"installer-docker-sans-proxy-chez-vous\" class=\"wp-block-heading\">Installer Docker sans proxy (chez vous)<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin<\/code><\/pre>\n\n\n\n<h2 id=\"installer-docker-au-lycee-avec-proxy\" class=\"wp-block-heading\">Installer docker au lyc\u00e9e (avec proxy)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">voir le lien <a href=\"https:\/\/workboot.fr\/ciela\/proxy-du-lycee\/\" type=\"page\" id=\"1229\">proxy au lyc\u00e9e <\/a><\/p>\n\n\n\n<h3 id=\"mettre-a-jour-et-installer-curl\" class=\"wp-block-heading\">mettre \u00e0 jour et installer curl <\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt update &amp;&amp; sudo apt upgrade \nsudo apt install curl<\/code><\/pre>\n\n\n\n<h3 id=\"ajouter-le-source-list-de-docker\" class=\"wp-block-heading\">ajouter le source list de docker <\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u00e0 la fin du fichier : \/etc\/apt\/sources.list<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>deb &#91;arch=amd64 signed-by=\/etc\/apt\/keyrings\/docker.gpg] https:\/\/download.docker.com\/linux\/ubuntu jammy stable<\/code><\/pre>\n\n\n\n<h3 id=\"mettre-les-cles-gpg-du-depot\" class=\"wp-block-heading\">mettre les cl\u00e9s gpg du d\u00e9p\u00f4t <\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>curl -x http:\/\/10.0.0.1:3128 -fsSL https:\/\/download.docker.com\/linux\/ubuntu\/gpg | sudo gpg --dearmor -o \/etc\/apt\/keyrings\/docker.gpg<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo chmod a+r \/etc\/apt\/keyrings\/docker.gpg<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code># Tester la connexion au d\u00e9p\u00f4t Docker via le proxy\ncurl -x http:\/\/10.0.0.1:3128 -I https:\/\/download.docker.com\n\n# Mettre \u00e0 jour APT\nsudo apt update<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code># Installer Docker\nsudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Ajouter etudiant dans le groupe docker<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>etudiant@ordi:~$ sudo usermod -aG docker etudiant\netudiant@ordi:~$ docker ps\npermission denied while trying to connect to the docker API at unix:\/\/\/var\/run\/docker.sock\netudiant@ordi:~$ newgrp docker\netudiant@ordi:~$ docker ps\nCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES\netudiant@ordi:~$<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>etudiant@ordi:~\/Works\/docker$ sudo vi \/etc\/systemd\/system\/docker.service.d\/proxy.conf<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;Service]<br>Environment=\"HTTP_PROXY=http:\/\/10.0.0.1:3128\"<br>Environment=\"HTTPS_PROXY=http:\/\/10.0.0.1:3128\"<br>Environment=\"NO_PROXY=localhost,127.0.0.1,.local\"<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>etudiant@ordi:~\/Works\/docker$ sudo systemctl daemon-reload\netudiant@ordi:~\/Works\/docker$ sudo systemctl restart docker\netudiant@ordi:~\/Works\/docker$ docker info | grep -i proxy\n HTTP Proxy: http:\/\/10.0.0.1:3128\n HTTPS Proxy: http:\/\/10.0.0.1:3128\n No Proxy: localhost,127.0.0.1,.local\n<\/code><\/pre>\n\n\n\n<h2 id=\"decouverte-d-un-docker-avec-debian-12-bookworm\" class=\"wp-block-heading\">D\u00e9couverte d&rsquo;un docker avec Debian 12 BOOKWORM<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code># T\u00e9l\u00e9charger l'image Debian 12\ndocker pull debian:12\n\n# Lancer un conteneur interactif\ndocker run -it --name mon-debian debian:12 bash\n<\/code><\/pre>\n\n\n\n<h3 id=\"on-charge-la-debian-12-sur-notre-machine-locale\" class=\"wp-block-heading\">on charge la debian 12 sur notre machine locale<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">docker pull debian:12 = \u00ab\u00a0T\u00e9l\u00e9charge depuis Docker Hub l&rsquo;image nomm\u00e9e debian avec l&rsquo;\u00e9tiquette 12\u00a0\u00bb<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>etudiant@ordi:~\/Works\/docker$ docker pull debian:12<br>12: Pulling from library\/debian<br>6a7e0620566c: Pull complete<br>de58c64eb5b1: Download complete<br>Digest: sha256:0a5bf4ecacfc050bad0131c8e1401063fd1e8343a418723f6dbd3cd13a7b9e33<br>Status: Downloaded newer image for debian:12<br>docker.io\/library\/debian:12<\/code><\/pre>\n\n\n\n<h4 id=\"emplacement-par-defaut-sur-linux\" class=\"wp-block-heading\">Emplacement par d\u00e9faut sur Linux<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">\/var\/lib\/docker\/<\/p>\n\n\n\n<h4 id=\"structure-detaillee\" class=\"wp-block-heading\">Structure d\u00e9taill\u00e9e<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>\/var\/lib\/docker\/<br>\u251c\u2500\u2500 image\/ # M\u00e9tadonn\u00e9es des images<br>\u251c\u2500\u2500 overlay2\/ # Les vraies donn\u00e9es des couches (layers)<br>\u251c\u2500\u2500 containers\/ # Conteneurs cr\u00e9\u00e9s<br>\u2514\u2500\u2500 volumes\/ # Volumes de donn\u00e9es<\/code><\/pre>\n\n\n\n<h2 id=\"docker-image-et-images\" class=\"wp-block-heading\">Docker image et images<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>etudiant@ordi:~\/Works\/docker$ docker image ls<br>i Info \u2192 U In Use<br>IMAGE ID DISK USAGE CONTENT SIZE EXTRA<br>debian:12 0a5bf4ecacfc 185MB 52.2MB<br>etudiant@ordi:~\/Works\/docker$<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">ou on peut d\u00e9velopper<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>etudiant@ordi:~\/Works\/docker$ docker images<br>i Info \u2192 U In Use<br>IMAGE ID DISK USAGE CONTENT SIZE EXTRA<br>debian:12 0a5bf4ecacfc 185MB 52.2MB<br>etudiant@ordi:~\/Works\/docker$<\/code><\/pre>\n\n\n\n<h2 id=\"hello-world\" class=\"wp-block-heading\">hello-world<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>etudiant@ordi:~\/Works\/docker$ docker pull hello-world\nUsing default tag: latest\nlatest: Pulling from library\/hello-world\n17eec7bbc9d7: Pull complete\nea52d2000f90: Download complete\nDigest: sha256:85404b3c53951c3ff5d40de0972b1bb21fafa2e8daa235355baf44f33db9dbdd\nStatus: Downloaded newer image for hello-world:latest\ndocker.io\/library\/hello-world:latest\n<mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-red-color\">etudiant@ordi:~\/Works\/docker$ docker images\ni Info \u2192 U In Use\nIMAGE ID DISK USAGE CONTENT SIZE EXTRA\ndebian:12 0a5bf4ecacfc 185MB 52.2MB\nhello-world:latest 85404b3c5395 25.9kB 9.52kB\netudiant@ordi:~\/Works\/docker$<\/mark><\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">on dispose maintenant de 2 images !  nous allons d\u00e9j\u00e0 d\u00e9couvrir hello-world !<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pour lancer le docker hello-world run<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>etudiant@ordi:~\/Works\/docker$ docker run hello-world\n<mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-red-color\">\nHello from Docker!<\/mark>\nThis message shows that your installation appears to be working correctly.\n\nTo generate this message, Docker took the following steps:\n 1. The Docker client contacted the Docker daemon.\n 2. The Docker daemon pulled the \"hello-world\" image from the Docker Hub.\n    (amd64)\n 3. The Docker daemon created a new container from that image which runs the\n    executable that produces the output you are currently reading.\n 4. The Docker daemon streamed that output to the Docker client, which sent it\n    to your terminal.\n\nTo try something more ambitious, you can run an Ubuntu container with:\n $ docker run -it ubuntu bash\n\nShare images, automate workflows, and more with a free Docker ID:\n https:&#47;&#47;hub.docker.com\/\n\nFor more examples and ideas, visit:\n https:\/\/docs.docker.com\/get-started\/\n\netudiant@ordi:~\/Works\/docker$ \n<\/code><\/pre>\n\n\n\n<h2 id=\"effacer-l-image-hello-world\" class=\"wp-block-heading\">effacer l&rsquo;image hello-world<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>etudiant@ordi:~\/Works\/docker$ docker rmi -f hello-world:latest<br>Untagged: hello-world:latest<br>etudiant@ordi:~\/Works\/docker$ docker images<br>i Info \u2192 U In Use<br>IMAGE ID DISK USAGE CONTENT SIZE EXTRA<br>debian:12 0a5bf4ecacfc 185MB 52.2MB<br>etudiant@ordi:~\/Works\/docker$<\/code><\/pre>\n\n\n\n<h2 id=\"on-va-se-re-concentrer-sur-l-image-debian-12-bookworm\" class=\"wp-block-heading\">On va se re-concentrer sur l&rsquo;image Debian 12 (bookWorm)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">on va lancer <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>etudiant@ordi:~\/Works\/docker$ docker run -it debian:12<br>root@a5588a0165ce:\/#<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">si on explore ! <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>etudiant@ordi:~\/Works\/docker$ docker run -it debian:12<br>root@a5588a0165ce:\/# whoami<br>root<br>root@a5588a0165ce:\/# cat \/etc\/hostname<br>a5588a0165ce<br>root@a5588a0165ce:\/# ls<br>bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var<br>root@a5588a0165ce:\/#<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">on se rend compte que notre conteneur fait tourner une debian 12<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>root@a5588a0165ce:\/# cat \/etc\/os-release<br>PRETTY_NAME=\"Debian GNU\/Linux 12 (bookworm)\"<br>NAME=\"Debian GNU\/Linux\"<br>VERSION_ID=\"12\"<br>VERSION=\"12 (bookworm)\"<br>VERSION_CODENAME=bookworm<br>ID=debian<br>HOME_URL=\"https:\/\/www.debian.org\/\"<br>SUPPORT_URL=\"https:\/\/www.debian.org\/support\"<br>BUG_REPORT_URL=\"https:\/\/bugs.debian.org\/\"<br>root@a5588a0165ce:\/#<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">nous y sommes en tant que root ! <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">on va en sortir et quitter le conteneur  avec la commande  <strong>exit<\/strong> , ou ctrl d <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>etudiant@ordi:~\/Works\/docker$ docker ps -a<br>CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES<br>a5588a0165ce debian:12 \"bash\" 5 minutes ago Exited (0) 22 seconds ago fervent_matsumoto<br>d8883c6197d9 85404b3c5395 \"\/hello\" 11 minutes ago Exited (0) 11 minutes ago keen_poincare<br>bf988364c53c 85404b3c5395 \"\/hello\" 20 minutes ago Exited (0) 20 minutes ago focused_jang<br>etudiant@ordi:~\/Works\/docker$<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">on  va recr\u00e9er un conteneur et y \u00e9crire un fichier !<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>etudiant@ordi:~\/Works\/docker$ docker run -it debian:12<br>root@b5b6135a2cfa:\/# ls<br>bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var<br>root@b5b6135a2cfa:\/# pwd<br>\/<br>root@b5b6135a2cfa:\/# cd root\/<br>root@b5b6135a2cfa:~# ls<br>root@b5b6135a2cfa:~# echo \"Bonjour\" &gt; bonjour.txt<br>root@b5b6135a2cfa:~# ls<br>bonjour.txt<br>root@b5b6135a2cfa:~# cat bonjour.txt<br>Bonjour<br>root@b5b6135a2cfa:~#<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">pour sortir du conteneur il faut faire ctrl P puis Q (ne pas lacher ctrl)<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>etudiant@ordi:~\/Works\/docker$ docker ps<br>CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES<br>b5b6135a2cfa debian:12 \"bash\" 5 minutes ago Up 5 minutes elastic_shannon<br>etudiant@ordi:~\/Works\/docker$<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">pour retourner dedans !  elastic_shannon est le nom que docker \u00e0 donn\u00e9 ici \u00e0 mon conteneur (il faut adapter)<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker exec -it elastic_shannon bash<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>etudiant@ordi:~\/Works\/docker$ docker exec -it elastic_shannon bash<br>root@b5b6135a2cfa:\/# pwd<br>\/<br>root@b5b6135a2cfa:\/# cd root\/<br>root@b5b6135a2cfa:~# ls<br>bonjour.txt<br>root@b5b6135a2cfa:~# cat bonjour.txt<br>Bonjour<br>root@b5b6135a2cfa:~#<\/code><\/pre>\n\n\n\n<h3 id=\"stop-start-attach-ps-ps-a\" class=\"wp-block-heading\">stop\/start\/attach\/\/ps \/ ps -a<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>docker ps :  liste les conteneurs en cours de fonctionnement<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>docker ps -a  : liste tous les conteneurs en cours ou non <\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>stop : va arr\u00eater la machine  (le docker) sans le d\u00e9truire<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>start: va lancer la machine  <\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>attach pour se connecter \u00e0 la machine <\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">pour  detacher ctrl P Q <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">il faut tester tout cela ! pour bien assimiler les concepts de conteneur et en particulier de Docker<\/p>\n\n\n\n<h2 id=\"dockerfile-la-recette-pour-realiser-un-docker\" class=\"wp-block-heading\">Dockerfile ! la recette pour r\u00e9aliser un docker<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">ici nous allons cr\u00e9er un docker debian 12  avec vim et les outils r\u00e9seaux IPROUTE2<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mkdir mon-premier-docker\ncd mon-premier-docker<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">dockerfile <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># \u00c9TAPE 1 : On choisit une base solide\n# Debian 12 est une distribution Linux stable\n# 'slim' = version all\u00e9g\u00e9e (parfaite pour apprendre)\nFROM debian:12-slim\n\n# \u00c9TAPE 2 : On pr\u00e9pare l'installation\n# RUN ex\u00e9cute des commandes Linux pendant la construction\nRUN apt-get update &amp;&amp; \\\n    # On installe nos outils avec une option d'\u00e9conomie\n    apt-get install -y --no-install-recommends \\\n        vim \\\n        iproute2 &amp;&amp; \\\n    # \u00c9TAPE 3 : On fait le m\u00e9nage (comme ranger sa chambre)\n    apt-get clean &amp;&amp; \\\n    rm -rf \/var\/lib\/apt\/lists\/*\n\n# \u00c9TAPE 4 : On d\u00e9faut ce qui se passe au d\u00e9marrage\n# CMD = commande par d\u00e9faut quand on lance le conteneur\nCMD &#91;\"\/bin\/bash\"]<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">on va l&rsquo;utiliser <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># 1. CONSTRUIRE l'image (comme une recette de cuisine)\ndocker build -t debian12-outils .\n\n# 2. LISTER les images pour v\u00e9rifier\ndocker images\n\n# 3. LANCER le conteneur (comme allumer une machine)\ndocker run -it debian12-outils\n\n# 4. Une fois dans le conteneur, TESTER\nvim --version\nip addr show\n\n# 5. SORTIR du conteneur\nexit\n\n# 6. VOIR les conteneurs qui ont exist\u00e9\ndocker ps -a<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">on se rend compte ici que si on veut tester la commande ping, \u00e7a ne fonctionne pas !<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Le paquet iputils-ping est n\u00e9cessaire pour avoir le ping !<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">on va r\u00e9aliser une autre recette, un autre dockerfile ! <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>FROM debian:12-slim\n\n# Installation des outils avec ping en plus\nRUN apt-get update &amp;&amp; \\\n    apt-get install -y --no-install-recommends \\\n        vim \\\n        iproute2 \\\n        iputils-ping &amp;&amp; \\    # \u2190 paquet qui contient ping\n    apt-get clean &amp;&amp; \\\n    rm -rf \/var\/lib\/apt\/lists\/*\n\nCMD &#91;\"\/bin\/bash\"]<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">reconstruire .. (build) et tester !<\/p>\n\n\n\n<h2 id=\"glpi-en-docker-vite-fait-bien-fait\" class=\"wp-block-heading\">GLPI en docker ! vite fait bien fait!<\/h2>\n\n\n\n<h3 id=\"docker-compose\" class=\"wp-block-heading\">docker-compose<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">on va d\u00e9couvrir docker-compose !<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>apt update \napt install docker-compose<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">docker-compose.yml<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>version: '3.8'\n\nservices:\n  mariadb:\n    image: mariadb:10.7\n    container_name: glpi-mariadb\n    environment:\n      - MYSQL_ROOT_PASSWORD=rootpassword\n      - MYSQL_DATABASE=glpi\n      - MYSQL_USER=glpi\n      - MYSQL_PASSWORD=glpipassword\n    volumes:\n      - mariadb_data:\/var\/lib\/mysql\n    command: \n      - --character-set-server=utf8mb4\n      - --collation-server=utf8mb4_unicode_ci\n    restart: unless-stopped\n\n  glpi:\n    image: diouxx\/glpi:latest  # \ud83d\udc48 Image qui fonctionne (la plus utilis\u00e9e)\n    container_name: glpi-app\n    ports:\n      - \"8085:80\"\n    environment:\n      - MYSQL_HOST=mariadb\n      - MYSQL_PORT=3306\n      - MYSQL_DATABASE=glpi\n      - MYSQL_USER=glpi\n      - MYSQL_PASSWORD=glpipassword\n      - MYSQL_ROOT_PASSWORD=rootpassword\n    depends_on:\n      - mariadb\n    restart: unless-stopped\n\nvolumes:\n  mariadb_data:<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>docker-compose up -d<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">On peut aller sur : http:\/\/localhost:8085   <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker-composer down<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Pour l\u2019arr\u00eater ! <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/workboot.fr\/ciela\/wp-content\/uploads\/2026\/03\/glpi.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"541\" src=\"https:\/\/workboot.fr\/ciela\/wp-content\/uploads\/2026\/03\/glpi-1024x541.png\" alt=\"\" class=\"wp-image-7033\" srcset=\"https:\/\/workboot.fr\/ciela\/wp-content\/uploads\/2026\/03\/glpi-1024x541.png 1024w, https:\/\/workboot.fr\/ciela\/wp-content\/uploads\/2026\/03\/glpi-300x158.png 300w, https:\/\/workboot.fr\/ciela\/wp-content\/uploads\/2026\/03\/glpi-768x406.png 768w, https:\/\/workboot.fr\/ciela\/wp-content\/uploads\/2026\/03\/glpi.png 1280w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">Champ<\/th><th class=\"has-text-align-left\" data-align=\"left\">Valeur \u00e0 entrer<\/th><th class=\"has-text-align-left\" data-align=\"left\">Explication<\/th><\/tr><\/thead><tbody><tr><td><strong>Serveur SQL<\/strong><\/td><td><code>mariadb<\/code><\/td><td>\ud83d\udc48 C&rsquo;est le NOM du conteneur, pas une IP !<\/td><\/tr><tr><td><strong>Utilisateur SQL<\/strong><\/td><td><code>glpi<\/code><\/td><td>D\u00e9fini dans docker-compose<\/td><\/tr><tr><td><strong>Mot de passe<\/strong><\/td><td><code>glpipassword<\/code><\/td><td>D\u00e9fini dans docker-compose<\/td><\/tr><tr><td><strong>Base de donn\u00e9es<\/strong><\/td><td><code>glpi<\/code><\/td><td>D\u00e9fini dans docker-compose<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">pour tester cet applicatif:<\/p>\n\n\n\n<h2 id=\"utilisateur-et-mot-de-passe\" class=\"wp-block-heading\">\ud83d\udd11 utilisateur et mot de passe<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">Utilisateur<\/th><th class=\"has-text-align-left\" data-align=\"left\">Mot de passe<\/th><th class=\"has-text-align-left\" data-align=\"left\">R\u00f4le<\/th><\/tr><\/thead><tbody><tr><td><strong>glpi<\/strong><\/td><td><strong>glpi<\/strong><\/td><td>Administrateur<\/td><\/tr><tr><td><strong>admin<\/strong><\/td><td><strong>admin<\/strong><\/td><td>Administrateur (certaines images)<\/td><\/tr><tr><td><strong>root<\/strong><\/td><td><strong>root<\/strong><\/td><td>Super admin (rare)<\/td><\/tr><tr><td><strong>tech<\/strong><\/td><td><strong>tech<\/strong><\/td><td>Technicien<\/td><\/tr><tr><td><strong>normal<\/strong><\/td><td><strong>normal<\/strong><\/td><td>Utilisateur normal<\/td><\/tr><tr><td><strong>post-only<\/strong><\/td><td><strong>postonly<\/strong><\/td><td>Utilisateur restreint<\/td><\/tr><\/tbody><\/table><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>\ud83d\udd52 : 3 h maximum Pr\u00e9requis: But: R\u00e9pertoire de travail: ~\/Works\/TP0_Docker Pr\u00e9sentation de notre docker Une Debian 12 Bookworm, c&rsquo;est un excellent choix pour l&rsquo;enseignement. Je vais vous guider \u00e0 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","_uag_custom_page_level_css":"","footnotes":""},"class_list":["post-6900","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>TP0_Docker - workboot<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/workboot.fr\/ciela\/tp0_docker\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"TP0_Docker - workboot\" \/>\n<meta property=\"og:description\" content=\"\ud83d\udd52 : 3 h maximum Pr\u00e9requis: But: R\u00e9pertoire de travail: ~\/Works\/TP0_Docker Pr\u00e9sentation de notre docker Une Debian 12 Bookworm, c&rsquo;est un excellent choix pour l&rsquo;enseignement. Je vais vous guider \u00e0 [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/workboot.fr\/ciela\/tp0_docker\/\" \/>\n<meta property=\"og:site_name\" content=\"workboot\" \/>\n<meta property=\"article:modified_time\" content=\"2026-03-18T09:33:24+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/workboot.fr\/ciela\/wp-content\/uploads\/2026\/03\/glpi.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1280\" \/>\n\t<meta property=\"og:image:height\" content=\"676\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:label1\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data1\" content=\"9 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/workboot.fr\\\/ciela\\\/tp0_docker\\\/\",\"url\":\"https:\\\/\\\/workboot.fr\\\/ciela\\\/tp0_docker\\\/\",\"name\":\"TP0_Docker - workboot\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/workboot.fr\\\/ciela\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/workboot.fr\\\/ciela\\\/tp0_docker\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/workboot.fr\\\/ciela\\\/tp0_docker\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/workboot.fr\\\/ciela\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/glpi-1024x541.png\",\"datePublished\":\"2026-03-11T12:04:40+00:00\",\"dateModified\":\"2026-03-18T09:33:24+00:00\",\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/workboot.fr\\\/ciela\\\/tp0_docker\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/workboot.fr\\\/ciela\\\/tp0_docker\\\/#primaryimage\",\"url\":\"https:\\\/\\\/workboot.fr\\\/ciela\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/glpi.png\",\"contentUrl\":\"https:\\\/\\\/workboot.fr\\\/ciela\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/glpi.png\",\"width\":1280,\"height\":676},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/workboot.fr\\\/ciela\\\/#website\",\"url\":\"https:\\\/\\\/workboot.fr\\\/ciela\\\/\",\"name\":\"workboot\",\"description\":\"Open Source, Open Minds \",\"publisher\":{\"@id\":\"https:\\\/\\\/workboot.fr\\\/ciela\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/workboot.fr\\\/ciela\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/workboot.fr\\\/ciela\\\/#organization\",\"name\":\"workboot\",\"url\":\"https:\\\/\\\/workboot.fr\\\/ciela\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/workboot.fr\\\/ciela\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/workboot.fr\\\/ciela\\\/wp-content\\\/uploads\\\/2025\\\/05\\\/logo_ciel-dorian-1.png\",\"contentUrl\":\"https:\\\/\\\/workboot.fr\\\/ciela\\\/wp-content\\\/uploads\\\/2025\\\/05\\\/logo_ciel-dorian-1.png\",\"width\":1024,\"height\":950,\"caption\":\"workboot\"},\"image\":{\"@id\":\"https:\\\/\\\/workboot.fr\\\/ciela\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"TP0_Docker - workboot","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/workboot.fr\/ciela\/tp0_docker\/","og_locale":"fr_FR","og_type":"article","og_title":"TP0_Docker - workboot","og_description":"\ud83d\udd52 : 3 h maximum Pr\u00e9requis: But: R\u00e9pertoire de travail: ~\/Works\/TP0_Docker Pr\u00e9sentation de notre docker Une Debian 12 Bookworm, c&rsquo;est un excellent choix pour l&rsquo;enseignement. Je vais vous guider \u00e0 [&hellip;]","og_url":"https:\/\/workboot.fr\/ciela\/tp0_docker\/","og_site_name":"workboot","article_modified_time":"2026-03-18T09:33:24+00:00","og_image":[{"width":1280,"height":676,"url":"https:\/\/workboot.fr\/ciela\/wp-content\/uploads\/2026\/03\/glpi.png","type":"image\/png"}],"twitter_misc":{"Dur\u00e9e de lecture estim\u00e9e":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/workboot.fr\/ciela\/tp0_docker\/","url":"https:\/\/workboot.fr\/ciela\/tp0_docker\/","name":"TP0_Docker - workboot","isPartOf":{"@id":"https:\/\/workboot.fr\/ciela\/#website"},"primaryImageOfPage":{"@id":"https:\/\/workboot.fr\/ciela\/tp0_docker\/#primaryimage"},"image":{"@id":"https:\/\/workboot.fr\/ciela\/tp0_docker\/#primaryimage"},"thumbnailUrl":"https:\/\/workboot.fr\/ciela\/wp-content\/uploads\/2026\/03\/glpi-1024x541.png","datePublished":"2026-03-11T12:04:40+00:00","dateModified":"2026-03-18T09:33:24+00:00","inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/workboot.fr\/ciela\/tp0_docker\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/workboot.fr\/ciela\/tp0_docker\/#primaryimage","url":"https:\/\/workboot.fr\/ciela\/wp-content\/uploads\/2026\/03\/glpi.png","contentUrl":"https:\/\/workboot.fr\/ciela\/wp-content\/uploads\/2026\/03\/glpi.png","width":1280,"height":676},{"@type":"WebSite","@id":"https:\/\/workboot.fr\/ciela\/#website","url":"https:\/\/workboot.fr\/ciela\/","name":"workboot","description":"Open Source, Open Minds ","publisher":{"@id":"https:\/\/workboot.fr\/ciela\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/workboot.fr\/ciela\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/workboot.fr\/ciela\/#organization","name":"workboot","url":"https:\/\/workboot.fr\/ciela\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/workboot.fr\/ciela\/#\/schema\/logo\/image\/","url":"https:\/\/workboot.fr\/ciela\/wp-content\/uploads\/2025\/05\/logo_ciel-dorian-1.png","contentUrl":"https:\/\/workboot.fr\/ciela\/wp-content\/uploads\/2025\/05\/logo_ciel-dorian-1.png","width":1024,"height":950,"caption":"workboot"},"image":{"@id":"https:\/\/workboot.fr\/ciela\/#\/schema\/logo\/image\/"}}]}},"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false},"uagb_author_info":{"display_name":"admin","author_link":"https:\/\/workboot.fr\/ciela\/author\/admin\/"},"uagb_comment_info":0,"uagb_excerpt":"\ud83d\udd52 : 3 h maximum Pr\u00e9requis: But: R\u00e9pertoire de travail: ~\/Works\/TP0_Docker Pr\u00e9sentation de notre docker Une Debian 12 Bookworm, c&rsquo;est un excellent choix pour l&rsquo;enseignement. Je vais vous guider \u00e0 [&hellip;]","_links":{"self":[{"href":"https:\/\/workboot.fr\/ciela\/wp-json\/wp\/v2\/pages\/6900","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/workboot.fr\/ciela\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/workboot.fr\/ciela\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/workboot.fr\/ciela\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/workboot.fr\/ciela\/wp-json\/wp\/v2\/comments?post=6900"}],"version-history":[{"count":56,"href":"https:\/\/workboot.fr\/ciela\/wp-json\/wp\/v2\/pages\/6900\/revisions"}],"predecessor-version":[{"id":7053,"href":"https:\/\/workboot.fr\/ciela\/wp-json\/wp\/v2\/pages\/6900\/revisions\/7053"}],"wp:attachment":[{"href":"https:\/\/workboot.fr\/ciela\/wp-json\/wp\/v2\/media?parent=6900"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}