ajout dev docker
This commit is contained in:
@@ -0,0 +1,80 @@
|
||||
# TP2 : Volumes et bind-mounts
|
||||
|
||||
## Exercice 1 : Docker volumes
|
||||
|
||||
### Rapatrier l’image officielle du serveur web apache (httpd)
|
||||
```shell
|
||||
[srivasta@salle234-09 TP2]$ docker pull httpd:alpine3.17
|
||||
alpine3.17: Pulling from library/httpd
|
||||
f56be85fc22e: Pull complete
|
||||
3b0762594298: Pull complete
|
||||
d57f06c5a70c: Pull complete
|
||||
add4d5bc8a71: Pull complete
|
||||
ae430e2a98db: Pull complete
|
||||
36d8ddf7fbf3: Pull complete
|
||||
Digest: sha256:03c154f29d68648c335a19c8bfca1562251bc8af534e10c6f87361551c381d21
|
||||
Status: Downloaded newer image for httpd:alpine3.17
|
||||
docker.io/library/httpd:alpine3.17
|
||||
```
|
||||
|
||||
### Créer un volume
|
||||
```shell
|
||||
docker volume create volume_serveur_web #on crée le volume
|
||||
docker run --rm -v volume_serveur_web:/data alpine sh -c 'echo "<!DOCTYPE html><html><title>C MOI</title><body><h1>Emmanuel</h1></br><p>SRIVASTAVA-TIAMZON</p></body></html>" >> /data/index.html' # On crée le volume qui contient le fichier html demandé.
|
||||
|
||||
docker run -d --name volume_serveur_web_stat -v volume_serveur_web:/usr/local/apache2/htdocs/ -p 6767:80 httpd # On crée le volume temporaire qui prend le volume web et on crée le lien qui va avec en respectant les normes
|
||||
firefox http://localhost:6767/ # On consulte le fichier index.html
|
||||
```
|
||||

|
||||
|
||||
### Démarrer un conteneur
|
||||
```shell
|
||||
docker run -d --name tp21 httpd # Démarrer un conteneur en mode détaché nommé tp21
|
||||
# 933f36f8b9bb2ebac8e1a909d2174023445d6e38abfacd41cb45effdb4453450
|
||||
|
||||
docker run -d --name tp22 -v volume_serveur_web:/usr/local/apache2/htdocs/ httpd:alpine3.17 # Démarrer un conteneur en mode détaché en montant le volume précédemment créé nommé tp22
|
||||
# 28fa428591cbb76279093082f554753b54d0e7c64491d5d1faceb41c5c9ef598
|
||||
|
||||
docker run -d --name tp23 -v volume_serveur_web:/usr/local/apache2/htdocs/ -p 8080:80 httpd:alpine3.17 # Démarrer un conteneur en mode détaché en montant le volume précédemment créé et en exposant le port 80 nommé tp23
|
||||
# 247b80255b2ac69bdb85f76c4c8b8d2423cacd41a5ebdd8e10c791602ce10841
|
||||
```
|
||||
|
||||
### Exercice complémentaire
|
||||
Créer un deuxième volume nommé backup_web Copier le contenu du premier volume vers ce nouveau volume Démarrer un conteneur tp24 qui monte les deux volumes simultanément.
|
||||
```shell
|
||||
docker volume create backup_web # backup_web
|
||||
docker run -d --name tp24 -v volume_serveur_web:/usr/local/apache2/htdocs/ -v backup_web:/backup httpd:alpine3.17
|
||||
# 0622eae7a25de9a2d11456e58f48091eda488d3ca7bce813ee872a2ed4adaaf0
|
||||
```
|
||||
|
||||
## Exercice 2 : Docker bind mounts
|
||||
Pour cet exercice l'arborescence [web](./web) a été crée avec un [index.html](./web/index.html), un [style.jss](./web/style.css) et un [script.js](./web/script.js).
|
||||
|
||||
```shell
|
||||
# Démarrer un conteneur en mode détaché nommé tp25 qui monte le dossier web local dans /usr/local/apache2/htdocs
|
||||
docker run -d --name tp25 -v "$PWD"/web/:/usr/local/apache2/htdocs httpd:alpine3.17
|
||||
# 071b845b325823e3720ab0ec89e42f429d1c9dac928ea342fa425b911603f0cb
|
||||
|
||||
# Démarrer un conteneur en mode détaché nommé tp26 qui monte le dossier web et expose le port 8080
|
||||
docker run -d --name tp26 -v "$PWD"/web/:/usr/local/apache2/htdocs/web/ -p 8080:80 httpd:alpine3.17
|
||||
# 0fe9b31d025df32c42dea857403952ce988fbc7ac858430e64fb837e8ab2fce4
|
||||
|
||||
# Démarrer un conteneur en mode détaché nommé tp27 qui monte uniquement le fichier index.html (et non tout le dossier)
|
||||
docker run -d --name tp27 -v "$PWD"/web/index.html/:/usr/local/apache2/htdocs/index.html httpd:alpine3.17
|
||||
# 7b0bad50feff61a4d6dd37c17b7d0f0617ec1837bce88583d0794b3c70414064
|
||||
```
|
||||
|
||||
## Exercice complémentaire
|
||||
```shell
|
||||
# 1. Modifier le fichier index.html directement sur votre machine
|
||||
nano/vim web/index.html # pour apporter une modif
|
||||
|
||||
# 2. Vérifier que les changements sont visibles dans le conteneur
|
||||
docker exec tp26 cat /usr/local/apache2/htdocs/index.html
|
||||
|
||||
# 3. Créer un nouveau fichier about.html dans le dossier web
|
||||
touch /web/about.html
|
||||
|
||||
# 4. Vérifier qu'il est automatiquement accessible dans le conteneur
|
||||
docker exec tp26 ls /web/
|
||||
```
|
||||
Reference in New Issue
Block a user