|
| 1 | +# TP Docker |
| 2 | + |
| 3 | +## Installation de Docker et Docker-Compose |
| 4 | + |
| 5 | +Le mieux est d'aller directement consulter la page de docker dédié a cet effet ! [] |
| 6 | + |
| 7 | +### Voici tout de même les commandes a executer : |
| 8 | + |
| 9 | +``` |
| 10 | +sudo apt-get update |
| 11 | +sudo apt-get install ca-certificates curl gnupg lsb-release` |
| 12 | +sudo mkdir -p /etc/apt/keyrings |
| 13 | +curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg |
| 14 | +echo \ |
| 15 | + "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \ |
| 16 | + $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null |
| 17 | +
|
| 18 | +sudo apt-get update |
| 19 | +sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin |
| 20 | +``` |
| 21 | + |
| 22 | +### Commande pour devenir docker root |
| 23 | +```sudo usermod -aG docker dorian``` |
| 24 | + |
| 25 | + |
| 26 | + |
| 27 | + |
| 28 | + |
| 29 | +## Executer un serveur web dans un conteneur |
| 30 | + |
| 31 | + |
| 32 | +### Récuperer une image depuis le Docker Hub |
| 33 | + |
| 34 | +Le serveur repository par défaut de docker est le Docker Hub, il nous suffit alors d'executer la commande de pull pour récupérer l'image. |
| 35 | + |
| 36 | +```docker pull httpd:2.4``` |
| 37 | + |
| 38 | +Commande pour vérifier les images présente sur le serveur |
| 39 | + |
| 40 | +```docker images``` |
| 41 | + |
| 42 | +Je crée un fichier *index.html* avec le contenu suivant : `Finally working !` |
| 43 | + |
| 44 | + |
| 45 | +### Lancer un conteneur avec un fichier persistant |
| 46 | + |
| 47 | + |
| 48 | +```docker run -d -p 80:80 -v /home/dorian/apps/apache/index.html:/usr/local/apache2/htdocs/index.html httpd:2.4``` |
| 49 | + |
| 50 | + |
| 51 | +**_Commandes pour supprimer des conteneurs_** |
| 52 | +``` |
| 53 | +docker rm -f id_conteneur |
| 54 | +docker run -d -p 80:80 -v /home/dorian/apps/apache/index.html:/usr/local/apache2/htdocs/index.html httpd:2.4 |
| 55 | +``` |
| 56 | + |
| 57 | + |
| 58 | +### Copier un fichier dans un conteneurs |
| 59 | + |
| 60 | +Je vais ici copier l'index créé au dessus dans le repertoire apache dans le conteneur ! |
| 61 | + |
| 62 | +```docker cp ./index.html apache:/usr/local/apache2/htdocs/``` |
| 63 | + |
| 64 | + |
| 65 | + |
| 66 | +## Builder une image |
| 67 | + |
| 68 | + |
| 69 | +Builder une image permet de la faconner a notre guise pour qu'elle s'adapte a ce que l'on souhaite. |
| 70 | + |
| 71 | + |
| 72 | +Commande de build |
| 73 | + |
| 74 | +`docker build -t . name:tag` |
| 75 | + |
| 76 | + |
| 77 | +Builder une image depuis un autre repertoire |
| 78 | + |
| 79 | +`docker build -f /path/dockerimage -t name:tag .` |
| 80 | + |
| 81 | + |
| 82 | + |
| 83 | +J'ai alors créé une image avec le chemin de l'index HTML créé précédement. |
| 84 | + |
| 85 | +En lancant un conteneur a partir de cette image je n'ai alors plus besoin d'utiliser l'argument `-d` ! |
| 86 | + |
| 87 | +`docker run -d -p 80:80 apache:0.3` |
| 88 | + |
| 89 | + |
| 90 | + |
| 91 | +## BDD dans un conteneur |
| 92 | +``` |
| 93 | +docker run -d --name mysql-db -e MYSQL_ROOT_PASSWORD=password mysql:5.7 |
| 94 | +docker run -d --name myadmin --link mysql-db:db -p 8080:80 phpmyadmin/phpmyadmin |
| 95 | +``` |
| 96 | + |
| 97 | +**_Paquet permetant d'observer les procésus en cours_** |
| 98 | +``` |
| 99 | +apt install procps |
| 100 | +ps -ef |
| 101 | +``` |
0 commit comments